1 // This file is part of OpenCV project.
2 // It is subject to the license terms in the LICENSE file found in the top-level directory
3 // of this distribution and at http://opencv.org/license.html.
4 
5 #ifndef __OPENCV_PEILIN_HPP__
6 #define __OPENCV_PEILIN_HPP__
7 
8 #include <opencv2/core.hpp>
9 
10 namespace cv { namespace ximgproc {
11 
12     //! @addtogroup ximgproc
13     //! @{
14 
15     /**
16     * @brief   Calculates an affine transformation that normalize given image using Pei&Lin Normalization.
17     *
18     * Assume given image \f$I=T(\bar{I})\f$ where \f$\bar{I}\f$ is a normalized image and \f$T\f$ is an affine transformation distorting this image by translation, rotation, scaling and skew.
19     * The function returns an affine transformation matrix corresponding to the transformation \f$T^{-1}\f$ described in [PeiLin95].
20     * For more details about this implementation, please see
21     * [PeiLin95] Soo-Chang Pei and Chao-Nan Lin. Image normalization for pattern recognition. Image and Vision Computing, Vol. 13, N.10, pp. 711-723, 1995.
22     *
23     * @param I Given transformed image.
24     * @return Transformation matrix corresponding to inversed image transformation
25     */
26     CV_EXPORTS Matx23d PeiLinNormalization ( InputArray I );
27     /** @overload */
28     CV_EXPORTS_W void PeiLinNormalization ( InputArray I, OutputArray T );
29 
30 }} // namespace
31 
32 #endif
33