Class cv::randpattern::RandomPatternCornerFinder#
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. View details
#include <opencv2/ccalib/randpattern.hpp>Collaboration diagram for cv::randpattern::RandomPatternCornerFinder:
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 = 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”) )
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()#
void cv::randpattern::RandomPatternCornerFinder::loadPattern(const cv::Mat & patternImage)
loadPattern()#
void cv::randpattern::RandomPatternCornerFinder::loadPattern(
const cv::Mat & patternImage,
const std::vector< cv::KeyPoint > & patternKeyPoints,
const cv::Mat & patternDescriptors )
crossCheckMatching()#
void cv::randpattern::RandomPatternCornerFinder::crossCheckMatching(
cv::Ptr< DescriptorMatcher > & descriptorMatcher,
const Mat & descriptors1,
const Mat & descriptors2,
std::vector< DMatch > & filteredMatches12,
int knn = 1 )
drawCorrespondence()#
void cv::randpattern::RandomPatternCornerFinder::drawCorrespondence(
const Mat & image1,
const std::vector< cv::KeyPoint > keypoint1,
const Mat & image2,
const std::vector< cv::KeyPoint > keypoint2,
const std::vector< cv::DMatch > matchces,
const Mat & mask1,
const Mat & mask2,
const int step )
getFilteredLocation()#
void cv::randpattern::RandomPatternCornerFinder::getFilteredLocation(
cv::Mat & imageKeypoints,
cv::Mat & patternKeypoints,
const cv::Mat mask )
getObjectImagePoints()#
void cv::randpattern::RandomPatternCornerFinder::getObjectImagePoints(
const cv::Mat & imageKeypoints,
const cv::Mat & patternKeypoints )
keyPoints2MatchedLocation()#
void cv::randpattern::RandomPatternCornerFinder::keyPoints2MatchedLocation(
const std::vector< cv::KeyPoint > & imageKeypoints,
const std::vector< cv::KeyPoint > & patternKeypoints,
const std::vector< cv::DMatch > matchces,
cv::Mat & matchedImagelocation,
cv::Mat & matchedPatternLocation )
Member Data Documentation#
_depth#
int cv::randpattern::RandomPatternCornerFinder::_depth
_descriptor#
Ptr< DescriptorExtractor > cv::randpattern::RandomPatternCornerFinder::_descriptor
_descriptorPattern#
Mat cv::randpattern::RandomPatternCornerFinder::_descriptorPattern
_detector#
Ptr< FeatureDetector > cv::randpattern::RandomPatternCornerFinder::_detector
_imagePoints#
std::vector< cv::Mat > cv::randpattern::RandomPatternCornerFinder::_imagePoints
_keypointsPattern#
std::vector< cv::KeyPoint > cv::randpattern::RandomPatternCornerFinder::_keypointsPattern
_matcher#
Ptr< DescriptorMatcher > cv::randpattern::RandomPatternCornerFinder::_matcher
_nminiMatch#
int cv::randpattern::RandomPatternCornerFinder::_nminiMatch
_objectPonits#
std::vector< cv::Mat > cv::randpattern::RandomPatternCornerFinder::_objectPonits
_patternHeight#
float cv::randpattern::RandomPatternCornerFinder::_patternHeight
_patternImage#
Mat cv::randpattern::RandomPatternCornerFinder::_patternImage
_patternImageSize#
cv::Size cv::randpattern::RandomPatternCornerFinder::_patternImageSize
_patternWidth#
float cv::randpattern::RandomPatternCornerFinder::_patternWidth
_showExtraction#
int cv::randpattern::RandomPatternCornerFinder::_showExtraction
_verbose#
int cv::randpattern::RandomPatternCornerFinder::_verbose
Source file#
The documentation for this class was generated from the following file:
opencv2/ccalib/randpattern.hpp