1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- // 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_STEREO_DESCRIPTOR_HPP_
- #define _OPENCV_STEREO_DESCRIPTOR_HPP_
- namespace cv { namespace stereo {
- // FIXIT deprecate and remove CV_ prefix
- /// types of supported kernels
- enum {
- CV_DENSE_CENSUS, CV_SPARSE_CENSUS,
- CV_CS_CENSUS, CV_MODIFIED_CS_CENSUS, CV_MODIFIED_CENSUS_TRANSFORM,
- CV_MEAN_VARIATION, CV_STAR_KERNEL
- };
- /**
- Two variations of census applied on input images
- Implementation of a census transform which is taking into account just the some pixels from the census kernel thus allowing for larger block sizes
- **/
- CV_EXPORTS void censusTransform(const Mat &image1, const Mat &image2, int kernelSize, Mat &dist1, Mat &dist2, const int type);
- /// single image census transform
- CV_EXPORTS void censusTransform(const Mat &image1, int kernelSize, Mat &dist1, const int type);
- /**
- STANDARD_MCT - Modified census which is memorizing for each pixel 2 bits and includes a tolerance to the pixel comparison
- MCT_MEAN_VARIATION - Implementation of a modified census transform which is also taking into account the variation to the mean of the window not just the center pixel
- **/
- CV_EXPORTS void modifiedCensusTransform(const Mat &img1, const Mat &img2, int kernelSize, Mat &dist1, Mat &dist2, const int type, int t = 0, const Mat &integralImage1 = Mat(), const Mat &integralImage2 = Mat());
- ///single version of modified census transform descriptor
- CV_EXPORTS void modifiedCensusTransform(const Mat &img1, int kernelSize, Mat &dist, const int type, int t = 0, const Mat &integralImage = Mat());
- /**The classical center symetric census
- A modified version of cs census which is comparing a pixel with its correspondent after the center
- **/
- CV_EXPORTS void symetricCensusTransform(const Mat &img1, const Mat &img2, int kernelSize, Mat &dist1, Mat &dist2, const int type);
- ///single version of census transform
- CV_EXPORTS void symetricCensusTransform(const Mat &img1, int kernelSize, Mat &dist1, const int type);
- ///in a 9x9 kernel only certain positions are choosen
- CV_EXPORTS void starCensusTransform(const Mat &img1, const Mat &img2, int kernelSize, Mat &dist1, Mat &dist2);
- ///single image version of star kernel
- CV_EXPORTS void starCensusTransform(const Mat &img1, int kernelSize, Mat &dist);
- }} // namespace
- #endif
|