// This file is part of OpenCV project. // It is subject to the license terms in the LICENSE file found in the top-level directory // of this distribution and at http://opencv.org/license.html. #ifndef __OPENCV_COLOR_MATCH_HPP__ #define __OPENCV_COLOR_MATCH_HPP__ #include namespace cv { namespace ximgproc { //! @addtogroup ximgproc_filters //! @{ /** * @brief creates a quaternion image. * * @param img Source 8-bit, 32-bit or 64-bit image, with 3-channel image. * @param qimg result CV_64FC4 a quaternion image( 4 chanels zero channel and B,G,R). */ CV_EXPORTS_W void createQuaternionImage(InputArray img, OutputArray qimg); /** * @brief calculates conjugate of a quaternion image. * * @param qimg quaternion image. * @param qcimg conjugate of qimg */ CV_EXPORTS_W void qconj(InputArray qimg, OutputArray qcimg); /** * @brief divides each element by its modulus. * * @param qimg quaternion image. * @param qnimg conjugate of qimg */ CV_EXPORTS_W void qunitary(InputArray qimg, OutputArray qnimg); /** * @brief Calculates the per-element quaternion product of two arrays * * @param src1 quaternion image. * @param src2 quaternion image. * @param dst product dst(I)=src1(I) . src2(I) */ CV_EXPORTS_W void qmultiply(InputArray src1, InputArray src2, OutputArray dst); /** * @brief Performs a forward or inverse Discrete quaternion Fourier transform of a 2D quaternion array. * * @param img quaternion image. * @param qimg quaternion image in dual space. * @param flags quaternion image in dual space. only DFT_INVERSE flags is supported * @param sideLeft true the hypercomplex exponential is to be multiplied on the left (false on the right ). */ CV_EXPORTS_W void qdft(InputArray img, OutputArray qimg, int flags, bool sideLeft); /** * @brief Compares a color template against overlapped color image regions. * * @param img Image where the search is running. It must be 3 channels image * @param templ Searched template. It must be not greater than the source image and have 3 channels * @param result Map of comparison results. It must be single-channel 64-bit floating-point */ CV_EXPORTS_W void colorMatchTemplate(InputArray img, InputArray templ, OutputArray result); } } #endif