OpenCV 5.0.0-pre
Open Source Computer Vision
|
Class for finding features points and corresponding 3D in world coordinate of a "random" pattern, which can be to be used in calibration. It is useful when pattern is partly occluded or only a part of pattern can be observed in multiple cameras calibration. The pattern can be generated by RandomPatternGenerator class described in this file. More...
#include <opencv2/ccalib/randpattern.hpp>
Public Member Functions | |
RandomPatternCornerFinder (float patternWidth, float patternHeight, int nminiMatch=20, int depth=CV_32F, int verbose=0, int showExtraction=0, Ptr< FeatureDetector > detector=xfeatures2d::AKAZE::create(xfeatures2d::AKAZE::DESCRIPTOR_MLDB, 0, 3, 0.005f), Ptr< DescriptorExtractor > descriptor=xfeatures2d::AKAZE::create(xfeatures2d::AKAZE::DESCRIPTOR_MLDB, 0, 3, 0.005f), Ptr< DescriptorMatcher > matcher=DescriptorMatcher::create("BruteForce-L1")) | |
void | computeObjectImagePoints (std::vector< cv::Mat > inputImages) |
std::vector< cv::Mat > | computeObjectImagePointsForSingle (cv::Mat inputImage) |
const std::vector< cv::Mat > & | getImagePoints () |
const std::vector< cv::Mat > & | getObjectPoints () |
void | loadPattern (const cv::Mat &patternImage) |
void | loadPattern (const cv::Mat &patternImage, const std::vector< cv::KeyPoint > &patternKeyPoints, const cv::Mat &patternDescriptors) |
Class for finding features points and corresponding 3D in world coordinate of a "random" pattern, which can be to be used in calibration. It is useful when pattern is partly occluded or only a part of pattern can be observed in multiple cameras calibration. The pattern can be generated by RandomPatternGenerator class described in this file.
Please refer to paper B. Li, L. Heng, K. Kevin and M. Pollefeys, "A Multiple-Camera System Calibration Toolbox Using A Feature Descriptor-Based Calibration Pattern", in IROS 2013.
cv::randpattern::RandomPatternCornerFinder::RandomPatternCornerFinder | ( | float | patternWidth, |
float | patternHeight, | ||
int | nminiMatch = 20, | ||
int | depth = CV_32F, | ||
int | verbose = 0, | ||
int | showExtraction = 0, | ||
Ptr< FeatureDetector > | detector = xfeatures2d::AKAZE::create(xfeatures2d::AKAZE::DESCRIPTOR_MLDB, 0, 3, 0.005f), | ||
Ptr< DescriptorExtractor > | descriptor = xfeatures2d::AKAZE::create(xfeatures2d::AKAZE::DESCRIPTOR_MLDB, 0, 3, 0.005f), | ||
Ptr< DescriptorMatcher > | matcher = DescriptorMatcher::create("BruteForce-L1") ) |
void cv::randpattern::RandomPatternCornerFinder::computeObjectImagePoints | ( | std::vector< cv::Mat > | inputImages | ) |
std::vector< cv::Mat > cv::randpattern::RandomPatternCornerFinder::computeObjectImagePointsForSingle | ( | cv::Mat | inputImage | ) |
const std::vector< cv::Mat > & cv::randpattern::RandomPatternCornerFinder::getImagePoints | ( | ) |
const std::vector< cv::Mat > & cv::randpattern::RandomPatternCornerFinder::getObjectPoints | ( | ) |
void cv::randpattern::RandomPatternCornerFinder::loadPattern | ( | const cv::Mat & | patternImage | ) |
void cv::randpattern::RandomPatternCornerFinder::loadPattern | ( | const cv::Mat & | patternImage, |
const std::vector< cv::KeyPoint > & | patternKeyPoints, | ||
const cv::Mat & | patternDescriptors ) |