OpenCV  4.5.3
Open Source Computer Vision
Classes | Functions
Shape Distance and Matching

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. More...
 

Detailed Description

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.