OpenCV 4.10.0-dev
Open Source Computer Vision
Loading...
Searching...
No Matches
Shape Distance and Matching

Detailed Description

Classes

class  cv::AffineTransformer
 Wrapper class for the OpenCV Affine Transformation algorithm. : More...
 
class  cv::ChiHistogramCostExtractor
 An Chi based cost extraction. : More...
 
class  cv::EMDHistogramCostExtractor
 An EMD based cost extraction. : More...
 
class  cv::EMDL1HistogramCostExtractor
 An EMD-L1 based cost extraction. : More...
 
class  cv::HausdorffDistanceExtractor
 A simple Hausdorff distance measure between shapes defined by contours. More...
 
class  cv::HistogramCostExtractor
 Abstract base class for histogram cost algorithms. More...
 
class  cv::NormHistogramCostExtractor
 A norm based cost extraction. : More...
 
class  cv::ShapeContextDistanceExtractor
 Implementation of the Shape Context descriptor and matching algorithm. More...
 
class  cv::ShapeDistanceExtractor
 Abstract base class for shape distance algorithms. More...
 
class  cv::ShapeTransformer
 Abstract base class for shape transformation algorithms. More...
 
class  cv::ThinPlateSplineShapeTransformer
 Definition of the transformation. More...
 

Functions

Ptr< AffineTransformercv::createAffineTransformer (bool fullAffine)
 
Ptr< HistogramCostExtractorcv::createChiHistogramCostExtractor (int nDummies=25, float defaultCost=0.2f)
 
Ptr< HistogramCostExtractorcv::createEMDHistogramCostExtractor (int flag=DIST_L2, int nDummies=25, float defaultCost=0.2f)
 
Ptr< HistogramCostExtractorcv::createEMDL1HistogramCostExtractor (int nDummies=25, float defaultCost=0.2f)
 
Ptr< HausdorffDistanceExtractorcv::createHausdorffDistanceExtractor (int distanceFlag=cv::NORM_L2, float rankProp=0.6f)
 
Ptr< HistogramCostExtractorcv::createNormHistogramCostExtractor (int flag=DIST_L2, int nDummies=25, float defaultCost=0.2f)
 
Ptr< ShapeContextDistanceExtractorcv::createShapeContextDistanceExtractor (int nAngularBins=12, int nRadialBins=4, float innerRadius=0.2f, float outerRadius=2, int iterations=3, const Ptr< HistogramCostExtractor > &comparer=createChiHistogramCostExtractor(), const Ptr< ShapeTransformer > &transformer=createThinPlateSplineShapeTransformer())
 
Ptr< ThinPlateSplineShapeTransformercv::createThinPlateSplineShapeTransformer (double regularizationParameter=0)
 
float cv::EMDL1 (InputArray signature1, InputArray signature2)
 Computes the "minimal work" distance between two weighted point configurations base on the papers "EMD-L1: An efficient and Robust Algorithm for comparing histogram-based descriptors", by Haibin Ling and Kazunori Okuda; and "The Earth Mover's Distance is the Mallows Distance: Some Insights from Statistics", by Elizaveta Levina and Peter Bickel.
 

Function Documentation

◆ createAffineTransformer()

Ptr< AffineTransformer > cv::createAffineTransformer ( bool fullAffine)
Python:
cv.createAffineTransformer(fullAffine) -> retval

#include <opencv2/shape/shape_transformer.hpp>

Complete constructor

◆ createChiHistogramCostExtractor()

Ptr< HistogramCostExtractor > cv::createChiHistogramCostExtractor ( int nDummies = 25,
float defaultCost = 0.2f )
Python:
cv.createChiHistogramCostExtractor([, nDummies[, defaultCost]]) -> retval

◆ createEMDHistogramCostExtractor()

Ptr< HistogramCostExtractor > cv::createEMDHistogramCostExtractor ( int flag = DIST_L2,
int nDummies = 25,
float defaultCost = 0.2f )
Python:
cv.createEMDHistogramCostExtractor([, flag[, nDummies[, defaultCost]]]) -> retval

◆ createEMDL1HistogramCostExtractor()

Ptr< HistogramCostExtractor > cv::createEMDL1HistogramCostExtractor ( int nDummies = 25,
float defaultCost = 0.2f )
Python:
cv.createEMDL1HistogramCostExtractor([, nDummies[, defaultCost]]) -> retval

◆ createHausdorffDistanceExtractor()

Ptr< HausdorffDistanceExtractor > cv::createHausdorffDistanceExtractor ( int distanceFlag = cv::NORM_L2,
float rankProp = 0.6f )
Python:
cv.createHausdorffDistanceExtractor([, distanceFlag[, rankProp]]) -> retval

◆ createNormHistogramCostExtractor()

Ptr< HistogramCostExtractor > cv::createNormHistogramCostExtractor ( int flag = DIST_L2,
int nDummies = 25,
float defaultCost = 0.2f )
Python:
cv.createNormHistogramCostExtractor([, flag[, nDummies[, defaultCost]]]) -> retval

◆ createShapeContextDistanceExtractor()

Ptr< ShapeContextDistanceExtractor > cv::createShapeContextDistanceExtractor ( int nAngularBins = 12,
int nRadialBins = 4,
float innerRadius = 0.2f,
float outerRadius = 2,
int iterations = 3,
const Ptr< HistogramCostExtractor > & comparer = createChiHistogramCostExtractor(),
const Ptr< ShapeTransformer > & transformer = createThinPlateSplineShapeTransformer() )
Python:
cv.createShapeContextDistanceExtractor([, nAngularBins[, nRadialBins[, innerRadius[, outerRadius[, iterations[, comparer[, transformer]]]]]]]) -> retval

◆ createThinPlateSplineShapeTransformer()

Ptr< ThinPlateSplineShapeTransformer > cv::createThinPlateSplineShapeTransformer ( double regularizationParameter = 0)
Python:
cv.createThinPlateSplineShapeTransformer([, regularizationParameter]) -> retval

#include <opencv2/shape/shape_transformer.hpp>

Complete constructor

◆ EMDL1()

float cv::EMDL1 ( InputArray signature1,
InputArray signature2 )

#include <opencv2/shape/emdL1.hpp>

Computes the "minimal work" distance between two weighted point configurations base on the papers "EMD-L1: An efficient and Robust Algorithm for comparing histogram-based descriptors", by Haibin Ling and Kazunori Okuda; and "The Earth Mover's Distance is the Mallows Distance: Some Insights from Statistics", by Elizaveta Levina and Peter Bickel.

Parameters
signature1First signature, a single column floating-point matrix. Each row is the value of the histogram in each bin.
signature2Second signature of the same format and size as signature1.