Shape Distance and Matching#

Detailed Description#

Classes#

Name

Description

class cv::AffineTransformer

Wrapper class for the OpenCV Affine Transformation algorithm. : View details

class cv::ChiHistogramCostExtractor

An Chi based cost extraction. : View details

class cv::EMDHistogramCostExtractor

An EMD based cost extraction. : View details

class cv::EMDL1HistogramCostExtractor

An EMD-L1 based cost extraction. : View details

class cv::HausdorffDistanceExtractor

A simple Hausdorff distance measure between shapes defined by contours. View details

class cv::HistogramCostExtractor

Abstract base class for histogram cost algorithms. View details

class cv::NormHistogramCostExtractor

A norm based cost extraction. : View details

class cv::ShapeContextDistanceExtractor

Implementation of the Shape Context descriptor and matching algorithm. View details

class cv::ShapeDistanceExtractor

Abstract base class for shape distance algorithms. View details

class cv::ShapeTransformer

Abstract base class for shape transformation algorithms. View details

class cv::ThinPlateSplineShapeTransformer

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.