Shape Distance and Matching#
Detailed Description#
Classes#
Name |
Description |
|---|---|
|
Wrapper class for the OpenCV Affine Transformation algorithm. : View details |
An Chi based cost extraction. : View details |
|
An EMD based cost extraction. : View details |
|
An EMD-L1 based cost extraction. : View details |
|
A simple Hausdorff distance measure between shapes defined by contours. View details |
|
Abstract base class for histogram cost algorithms. View details |
|
A norm based cost extraction. : View details |
|
Implementation of the Shape Context descriptor and matching algorithm. View details |
|
Abstract base class for shape distance algorithms. View details |
|
|
Abstract base class for shape transformation algorithms. View details |
Definition of the transformation. View details |
Function Documentation#
createAffineTransformer()#
Ptr< AffineTransformer > cv::createAffineTransformer(bool fullAffine)
#include <opencv2/shape/shape_transformer.hpp>
Complete constructor
createChiHistogramCostExtractor()#
Ptr< HistogramCostExtractor > cv::createChiHistogramCostExtractor(
int nDummies = 25,
float defaultCost = 0.2f )
#include <opencv2/shape/hist_cost.hpp>
createEMDHistogramCostExtractor()#
Ptr< HistogramCostExtractor > cv::createEMDHistogramCostExtractor(
int flag = DIST_L2,
int nDummies = 25,
float defaultCost = 0.2f )
#include <opencv2/shape/hist_cost.hpp>
createEMDL1HistogramCostExtractor()#
Ptr< HistogramCostExtractor > cv::createEMDL1HistogramCostExtractor(
int nDummies = 25,
float defaultCost = 0.2f )
#include <opencv2/shape/hist_cost.hpp>
createHausdorffDistanceExtractor()#
Ptr< HausdorffDistanceExtractor > cv::createHausdorffDistanceExtractor(
int distanceFlag = cv::NORM_L2,
float rankProp = 0.6f )
#include <opencv2/shape/shape_distance.hpp>
createNormHistogramCostExtractor()#
Ptr< HistogramCostExtractor > cv::createNormHistogramCostExtractor(
int flag = DIST_L2,
int nDummies = 25,
float defaultCost = 0.2f )
#include <opencv2/shape/hist_cost.hpp>
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() )
#include <opencv2/shape/shape_distance.hpp>
createThinPlateSplineShapeTransformer()#
Ptr< ThinPlateSplineShapeTransformer > cv::createThinPlateSplineShapeTransformer(double regularizationParameter = 0)
#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
signature1— First signature, a single column floating-point matrix. Each row is the value of the histogram in each bin.signature2— Second signature of the same format and size as signature1.