OpenCV  4.4.0
Open Source Computer Vision
Public Member Functions | List of all members
cv::randpattern::RandomPatternCornerFinder Class Reference

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=AKAZE::create(AKAZE::DESCRIPTOR_MLDB, 0, 3, 0.005f), Ptr< DescriptorExtractor > descriptor=AKAZE::create(AKAZE::DESCRIPTOR_MLDB, 0, 3, 0.005f), Ptr< DescriptorMatcher > matcher=DescriptorMatcher::create("BruteForce-L1"))
 
void computeObjectImagePoints (std::vector< cv::Mat > inputImages)
 
std::vector< cv::MatcomputeObjectImagePointsForSingle (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)
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ RandomPatternCornerFinder()

cv::randpattern::RandomPatternCornerFinder::RandomPatternCornerFinder ( float  patternWidth,
float  patternHeight,
int  nminiMatch = 20,
int  depth = CV_32F,
int  verbose = 0,
int  showExtraction = 0,
Ptr< FeatureDetector detector = AKAZE::create(AKAZE::DESCRIPTOR_MLDB, 0, 3, 0.005f),
Ptr< DescriptorExtractor descriptor = AKAZE::create(AKAZE::DESCRIPTOR_MLDB, 0, 3, 0.005f),
Ptr< DescriptorMatcher matcher = DescriptorMatcher::create("BruteForce-L1") 
)

Member Function Documentation

◆ computeObjectImagePoints()

void cv::randpattern::RandomPatternCornerFinder::computeObjectImagePoints ( std::vector< cv::Mat inputImages)

◆ computeObjectImagePointsForSingle()

std::vector<cv::Mat> cv::randpattern::RandomPatternCornerFinder::computeObjectImagePointsForSingle ( cv::Mat  inputImage)

◆ getImagePoints()

const std::vector<cv::Mat>& cv::randpattern::RandomPatternCornerFinder::getImagePoints ( )

◆ getObjectPoints()

const std::vector<cv::Mat>& cv::randpattern::RandomPatternCornerFinder::getObjectPoints ( )

◆ loadPattern() [1/2]

void cv::randpattern::RandomPatternCornerFinder::loadPattern ( const cv::Mat patternImage)

◆ loadPattern() [2/2]

void cv::randpattern::RandomPatternCornerFinder::loadPattern ( const cv::Mat patternImage,
const std::vector< cv::KeyPoint > &  patternKeyPoints,
const cv::Mat patternDescriptors 
)

The documentation for this class was generated from the following file: