OpenCV: cv::ShapeContextDistanceExtractor Class Reference

| OpenCV 3.4.2 Open Source Computer Vision

Public Member Functions | List of all members
cv::ShapeContextDistanceExtractor Class Referenceabstract
Shape Distance and Matching

Implementation of the Shape Context descriptor and matching algorithm. More...

`#include "shape_distance.hpp"`

Inheritance diagram for cv::ShapeContextDistanceExtractor:

## Public Member Functions
virtual int | getAngularBins () const =0
virtual float | getBendingEnergyWeight () const =0
virtual Ptr< HistogramCostExtractor > | getCostExtractor () const =0
virtual float | getImageAppearanceWeight () const =0
virtual void | getImages (OutputArray image1, OutputArray image2) const =0
virtual float | getInnerRadius () const =0
virtual int | getIterations () const =0
virtual float | getOuterRadius () const =0
virtual int | getRadialBins () const =0
virtual bool | getRotationInvariant () const =0
virtual float | getShapeContextWeight () const =0
virtual float | getStdDev () const =0
virtual Ptr< ShapeTransformer > | getTransformAlgorithm () const =0
virtual void | setAngularBins (int nAngularBins)=0
| Establish the number of angular bins for the Shape Context Descriptor used in the shape matching pipeline. More...
virtual void | setBendingEnergyWeight (float bendingEnergyWeight)=0
| Set the weight of the Bending Energy in the final value of the shape distance. The bending energy definition depends on what transformation is being used to align the shapes. The final value of the shape distance is a user-defined linear combination of the shape context distance, an image appearance distance, and a bending energy. More...
virtual void | setCostExtractor (Ptr< HistogramCostExtractor > comparer)=0
| Set the algorithm used for building the shape context descriptor cost matrix. More...
virtual void | setImageAppearanceWeight (float imageAppearanceWeight)=0
| Set the weight of the Image Appearance cost in the final value of the shape distance. The image appearance cost is defined as the sum of squared brightness differences in Gaussian windows around corresponding image points. The final value of the shape distance is a user-defined linear combination of the shape context distance, an image appearance distance, and a bending energy. If this value is set to a number different from 0, is mandatory to set the images that correspond to each shape. More...
virtual void | setImages (InputArray image1, InputArray image2)=0
| Set the images that correspond to each shape. This images are used in the calculation of the Image Appearance cost. More...
virtual void | setInnerRadius (float innerRadius)=0
| Set the inner radius of the shape context descriptor. More...
virtual void | setIterations (int iterations)=0
virtual void | setOuterRadius (float outerRadius)=0
| Set the outer radius of the shape context descriptor. More...
virtual void | setRadialBins (int nRadialBins)=0
| Establish the number of radial bins for the Shape Context Descriptor used in the shape matching pipeline. More...
virtual void | setRotationInvariant (bool rotationInvariant)=0
virtual void | setShapeContextWeight (float shapeContextWeight)=0
| Set the weight of the shape context distance in the final value of the shape distance. The shape context distance between two shapes is defined as the symmetric sum of shape context matching costs over best matching points. The final value of the shape distance is a user-defined linear combination of the shape context distance, an image appearance distance, and a bending energy. More...
virtual void | setStdDev (float sigma)=0
| Set the value of the standard deviation for the Gaussian window for the image appearance cost. More...
virtual void | setTransformAlgorithm (Ptr< ShapeTransformer > transformer)=0
| Set the algorithm used for aligning the shapes. More...
Public Member Functions inherited from cv::ShapeDistanceExtractor
virtual float | computeDistance (InputArray contour1, InputArray contour2)=0
| Compute the shape distance between two shapes defined by its contours. More...
Public Member Functions inherited from cv::Algorithm
| Algorithm ()
virtual | ~Algorithm ()
virtual void | clear ()
| Clears the algorithm state. More...
virtual bool | empty () const
| Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read. More...
virtual String | getDefaultName () const
virtual void | read (const FileNode &fn)
| Reads algorithm parameters from a file storage. More...
virtual void | save (const String &filename) const
virtual void | write (FileStorage &fs) const
| Stores algorithm parameters in a file storage. More...
void | write (const Ptr< FileStorage > &fs, const String &name=String()) const
| simplified API for language bindings This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...

## Additional Inherited Members
Static Public Member Functions inherited from cv::Algorithm
template<typename _Tp >
static Ptr< _Tp > | load (const String &filename, const String &objname=String())
| Loads algorithm from the file. More...
template<typename _Tp >
static Ptr< _Tp > | loadFromString (const String &strModel, const String &objname=String())
| Loads algorithm from a String. More...
template<typename _Tp >
static Ptr< _Tp > | read (const FileNode &fn)
| Reads algorithm from the file node. More...
Protected Member Functions inherited from cv::Algorithm
void | writeFormat (FileStorage &fs) const

## Detailed Description

Implementation of the Shape Context descriptor and matching algorithm.

proposed by Belongie et al. in "Shape Matching and Object Recognition Using Shape Contexts" (PAMI 2002). This implementation is packaged in a generic scheme, in order to allow you the implementation of the common variations of the original pipeline.

## Member Function Documentation

## ◆ getAngularBins()

virtual int cv::ShapeContextDistanceExtractor::getAngularBins | ( |  | ) | const
| pure virtual

## ◆ getBendingEnergyWeight()

virtual float cv::ShapeContextDistanceExtractor::getBendingEnergyWeight | ( |  | ) | const
| pure virtual

## ◆ getCostExtractor()

virtual Ptr<HistogramCostExtractor> cv::ShapeContextDistanceExtractor::getCostExtractor | ( |  | ) | const
| pure virtual

## ◆ getImageAppearanceWeight()

virtual float cv::ShapeContextDistanceExtractor::getImageAppearanceWeight | ( |  | ) | const
| pure virtual

## ◆ getImages()

virtual void cv::ShapeContextDistanceExtractor::getImages | ( | OutputArray | image1,
|  | OutputArray | image2
| ) |  | const
| pure virtual

## ◆ getInnerRadius()

virtual float cv::ShapeContextDistanceExtractor::getInnerRadius | ( |  | ) | const
| pure virtual

## ◆ getIterations()

virtual int cv::ShapeContextDistanceExtractor::getIterations | ( |  | ) | const
| pure virtual

## ◆ getOuterRadius()

virtual float cv::ShapeContextDistanceExtractor::getOuterRadius | ( |  | ) | const
| pure virtual

## ◆ getRadialBins()

virtual int cv::ShapeContextDistanceExtractor::getRadialBins | ( |  | ) | const
| pure virtual

## ◆ getRotationInvariant()

virtual bool cv::ShapeContextDistanceExtractor::getRotationInvariant | ( |  | ) | const
| pure virtual

## ◆ getShapeContextWeight()

virtual float cv::ShapeContextDistanceExtractor::getShapeContextWeight | ( |  | ) | const
| pure virtual

## ◆ getStdDev()

virtual float cv::ShapeContextDistanceExtractor::getStdDev | ( |  | ) | const
| pure virtual

## ◆ getTransformAlgorithm()

virtual Ptr<ShapeTransformer> cv::ShapeContextDistanceExtractor::getTransformAlgorithm | ( |  | ) | const
| pure virtual

## ◆ setAngularBins()

virtual void cv::ShapeContextDistanceExtractor::setAngularBins | ( | int | nAngularBins | ) |
| pure virtual

Establish the number of angular bins for the Shape Context Descriptor used in the shape matching pipeline.

Parameters

  nAngularBins | The number of angular bins in the shape context descriptor.

## ◆ setBendingEnergyWeight()

virtual void cv::ShapeContextDistanceExtractor::setBendingEnergyWeight | ( | float | bendingEnergyWeight | ) |
| pure virtual

Set the weight of the Bending Energy in the final value of the shape distance. The bending energy definition depends on what transformation is being used to align the shapes. The final value of the shape distance is a user-defined linear combination of the shape context distance, an image appearance distance, and a bending energy.

Parameters

  bendingEnergyWeight | The weight of the Bending Energy in the final distance value.

## ◆ setCostExtractor()

virtual void cv::ShapeContextDistanceExtractor::setCostExtractor | ( | Ptr< HistogramCostExtractor > | comparer | ) |
| pure virtual

Set the algorithm used for building the shape context descriptor cost matrix.

Parameters

  comparer | Smart pointer to a HistogramCostExtractor, an algorithm that defines the cost matrix between descriptors.

## ◆ setImageAppearanceWeight()

virtual void cv::ShapeContextDistanceExtractor::setImageAppearanceWeight | ( | float | imageAppearanceWeight | ) |
| pure virtual

Set the weight of the Image Appearance cost in the final value of the shape distance. The image appearance cost is defined as the sum of squared brightness differences in Gaussian windows around corresponding image points. The final value of the shape distance is a user-defined linear combination of the shape context distance, an image appearance distance, and a bending energy. If this value is set to a number different from 0, is mandatory to set the images that correspond to each shape.

Parameters

  imageAppearanceWeight | The weight of the appearance cost in the final distance value.

## ◆ setImages()

virtual void cv::ShapeContextDistanceExtractor::setImages | ( | InputArray | image1,
|  | InputArray | image2
| ) |  |
| pure virtual

Set the images that correspond to each shape. This images are used in the calculation of the Image Appearance cost.

Parameters

  image1 | Image corresponding to the shape defined by contours1.
  image2 | Image corresponding to the shape defined by contours2.

## ◆ setInnerRadius()

virtual void cv::ShapeContextDistanceExtractor::setInnerRadius | ( | float | innerRadius | ) |
| pure virtual

Set the inner radius of the shape context descriptor.

Parameters

  innerRadius | The value of the inner radius.

## ◆ setIterations()

virtual void cv::ShapeContextDistanceExtractor::setIterations | ( | int | iterations | ) |
| pure virtual

## ◆ setOuterRadius()

virtual void cv::ShapeContextDistanceExtractor::setOuterRadius | ( | float | outerRadius | ) |
| pure virtual

Set the outer radius of the shape context descriptor.

Parameters

  outerRadius | The value of the outer radius.

## ◆ setRadialBins()

virtual void cv::ShapeContextDistanceExtractor::setRadialBins | ( | int | nRadialBins | ) |
| pure virtual

Establish the number of radial bins for the Shape Context Descriptor used in the shape matching pipeline.

Parameters

  nRadialBins | The number of radial bins in the shape context descriptor.

## ◆ setRotationInvariant()

virtual void cv::ShapeContextDistanceExtractor::setRotationInvariant | ( | bool | rotationInvariant | ) |
| pure virtual

## ◆ setShapeContextWeight()

virtual void cv::ShapeContextDistanceExtractor::setShapeContextWeight | ( | float | shapeContextWeight | ) |
| pure virtual

Set the weight of the shape context distance in the final value of the shape distance. The shape context distance between two shapes is defined as the symmetric sum of shape context matching costs over best matching points. The final value of the shape distance is a user-defined linear combination of the shape context distance, an image appearance distance, and a bending energy.

Parameters

  shapeContextWeight | The weight of the shape context distance in the final distance value.

## ◆ setStdDev()

virtual void cv::ShapeContextDistanceExtractor::setStdDev | ( | float | sigma | ) |
| pure virtual

Set the value of the standard deviation for the Gaussian window for the image appearance cost.

Parameters

  sigma | Standard Deviation.

## ◆ setTransformAlgorithm()

virtual void cv::ShapeContextDistanceExtractor::setTransformAlgorithm | ( | Ptr< ShapeTransformer > | transformer | ) |
| pure virtual

Set the algorithm used for aligning the shapes.

Parameters

  transformer | Smart pointer to a ShapeTransformer, an algorithm that defines the aligning transformation.

The documentation for this class was generated from the following file:

- shape/include/opencv2/shape/shape_distance.hpp