eVision C++ API 26.10.0-beta.2.dev
Loading...
Searching...
No Matches
eVision::ECodedElement Class Reference

This class encapsulates either an object or a hole in an object, in a coded image. More...

#include <eVision/EasyObject/EasyObject2/ECodedElement.h>

Collaboration diagram for eVision::ECodedElement:

Public Member Functions

 ECodedElement (const eVision::ECodedElement &other)
 Copy constructor.
virtual ~ECodedElement () throw ()
eVision::ECodedElement & operator= (const eVision::ECodedElement &other)
 Assignment operator.
bool operator== (const eVision::ECodedElement &other) const
 Comparison Operator.
uint32_t GetHoleCount () const
 Returns the number of holes in the object.
eVision::ECodedElement GetHole (uint32_t index) const
 Returns a specified hole in the object.
std::vector< eVision::ECodedElement > GetHoles () const
 Returns all holes for the given object.
unsigned int GetParentObjectIndex () const
 Returns the index of the parent object of the hole.
void SetFrame (const eVision::EFrame &frame)
 Sets the frame in which the region was defined.
const eVision::EFrame & GetFrame () const
 Sets the frame in which the region was defined.
eVision::ERegion ToRegion () const
 Creates an ERegion from the ECodedElement. The ERegion represents all the pixels which are within the bounding box of the Pattern.
eVision::EFrame ToFrame (bool useAngle, eVision::EFrameScaling frameScaling) const
 Creates an EFrame from the ECodedElement. The parameters of the frame are determined by the ellipse of inertia.
eVision::EFrame ToFrame (bool useAngle, eVision::EFrameScaling frameScaling, const eVision::EFrame &inputFrame) const
 Creates an EFrame from the ECodedElement. The parameters of the frame are determined by the ellipse of inertia.
const eVision::EObjectRunsIterator & GetRunsIterator () const
 Returns an iterator to the runs of the coded element.
bool IsHole () const
 Tests whether the coded element is an object, a hole or a coded element.
bool IsObject () const
 Tests whether the coded element is an object, a hole or a coded element.
bool IsCodedElement () const
 Tests whether the coded element is an object, a hole or a coded element.
unsigned int GetElementIndex () const
 Returns the index of the coded element.
unsigned int GetLayerIndex () const
 Returns the index of the layer in the coded image to which the coded element belongs.
unsigned int GetRunCount () const
 Returns the number of runs inside the coded element.
unsigned int GetArea () const
 Returns the number of pixels inside the coded element.
unsigned int GetLargestRun () const
 Returns the length of the largest run inside the coded element.
float GetGravityCenterX () const
 Returns the abscissa of the gravity center of the coded element.
float GetGravityCenterY () const
 Returns the ordinate of the gravity center of the coded element.
eVision::EPoint GetGravityCenter () const
 Returns the gravity center of the coded element.
int GetLeftLimit () const
 Returns the lowest (integer) X-coordinate of all the pixels of the coded element.
int GetTopLimit () const
 Returns the lowest (integer) Y-coordinate of all the pixels of the coded element.
int GetRightLimit () const
 Returns the highest (integer) X-coordinate of all the pixels of the coded element.
int GetBottomLimit () const
 Returns the highest (integer) Y-coordinate of all the pixels of the coded element.
float GetBoundingBoxCenterX () const
 Returns the abscissa of the center of the bounding box of the coded element.
float GetBoundingBoxCenterY () const
 Returns the ordinate of the center of the bounding box of the coded element.
eVision::EPoint GetBoundingBoxCenter () const
 Returns the coordinates of the center of the bounding box of the coded element.
float GetBoundingBoxWidth () const
 Returns the width of the bounding box (Feret diameter at 0 degrees).
float GetBoundingBoxHeight () const
 Returns the height of the bounding box (Feret diameter at 90 degrees).
double GetMoment (unsigned int p, unsigned int q) const
 Computes the raw, two-dimensional moment of order (p,q).
float GetNormalizedCentralMoment (unsigned int p, unsigned int q) const
 Computes the scale-invariant, central, two-dimensional moment of order (p,q).
float GetCentralMoment (unsigned int p, unsigned int q) const
 Computes the central, two-dimensional moment of order (p,q).
float GetEllipseWidth () const
 Returns the length of the long axis of the ellipse of inertia.
float GetEllipseHeight () const
 Returns the length of the short axis of the ellipse of inertia.
float GetEllipseAngle () const
 Returns the angle of the ellipse of inertia.
float GetEccentricity () const
 Returns the eccentricity of the ellipse of inertia.
float GetFeretBox22CenterX () const
 Returns the abscissa of the center of the Feret box oriented at 22.5 degrees.
float GetFeretBox22CenterY () const
 Returns the ordinate of the center of the Feret box oriented at 22.5 degrees.
eVision::EPoint GetFeretBox22Center () const
 Returns the coordinates of the center of the Feret box oriented at 22.5 degrees.
float GetFeretBox22Width () const
 Returns the width of the Feret box oriented at 22.5 degrees (Feret diameter at 22.5 degrees).
float GetFeretBox22Height () const
 Returns the height of the Feret box oriented at 22.5 degrees (Feret diameter at 112.5 degrees).
float GetFeretBox45CenterX () const
 Returns the abscissa of the center of the Feret box oriented at 45 degrees.
float GetFeretBox45CenterY () const
 Returns the ordinate of the center of the Feret box oriented at 45 degrees.
eVision::EPoint GetFeretBox45Center () const
 Returns the coordinates of the center of the Feret box oriented at 45 degrees.
float GetFeretBox45Width () const
 Returns the width of the Feret box oriented at 45 degrees (Feret diameter at 45 degrees).
float GetFeretBox45Height () const
 Returns the height of the Feret box oriented at 45 degrees (Feret diameter at 135 degrees).
float GetFeretBox68CenterX () const
 Returns the abscissa of the center of the Feret box oriented at 67.5 degrees.
float GetFeretBox68CenterY () const
 Returns the ordinate of the center of the Feret box oriented at 67.5 degrees.
eVision::EPoint GetFeretBox68Center () const
 Returns the coordinates of the center of the Feret box oriented at 67.5 degrees.
float GetFeretBox68Width () const
 Returns the width of the Feret box oriented at 67.5 degrees (Feret diameter at 67.5 degrees).
float GetFeretBox68Height () const
 Returns the height of the Feret box oriented at 67.5 degrees (Feret diameter at 157.5 degrees).
float GetMinimumEnclosingRectangleCenterX () const
 Returns the abscissa of the center of the Minimum-Area Enclosing Rectangle.
float GetMinimumEnclosingRectangleCenterY () const
 Returns the ordinate of the center of the Minimum-Area Enclosing Rectangle.
eVision::EPoint GetMinimumEnclosingRectangleCenter () const
 Returns the coordinates of the center of the Minimum-Area Enclosing Rectangle.
float GetMinimumEnclosingRectangleWidth () const
 Returns the width of the Minimum-Area Enclosing Rectangle.
float GetMinimumEnclosingRectangleHeight () const
 Returns the height of the Minimum-Area Enclosing Rectangle.
float GetMinimumEnclosingRectangleAngle () const
 Returns the angle of the Minimum-Area Enclosing Rectangle.
eVision::ERotatedBoundingBox GetMinimumEnclosingRectangle () const
 Returns the Minimum-Area Enclosing Rectangle.
eVision::ERotatedBoundingBox GetBoundingBox () const
 Returns the bounding box of the coded element (Feret box at orientation 0 degrees).
eVision::ERotatedBoundingBox GetFeretBox22Box () const
 Returns the Feret box at orientation 22.5 degrees.
eVision::ERotatedBoundingBox GetFeretBox45Box () const
 Returns the Feret box at orientation 45 degrees.
eVision::ERotatedBoundingBox GetFeretBox68Box () const
 Returns the Feret box at orientation 67.5 degrees.
eVision::ERotatedBoundingBox ComputeFeretBox (float angle) const
 Computes the Feret box at a specific orientation.
float GetSigmaX () const
 Returns the centered moment of inertia around X. This is equal to the average squared Y-deviation (variance on Y). It can be expressed in terms of central moment as CentralMoment(0, 2) / Area.
float GetSigmaY () const
 Returns the centered moment of inertia around Y. This is equal to the average squared X-deviation (variance on X). It can be expressed in terms of central moment as CentralMoment(2, 0) / Area.
float GetSigmaXY () const
 Returns the centered product of inertia. The is equal to the covariance of the X and Y pixel coordinates. It can be expressed in terms of central moment as CentralMoment(1, 1) / Area.
float GetSigmaXX () const
 Returns the first centered principal moment of inertia.
float GetSigmaYY () const
 Returns the second centered principal moment of inertia.
int GetContourX () const
 Returns the abscissa of the starting point of the countour of the coded element.
int GetContourY () const
 Returns the ordinate of the starting point of the countour of the coded element.
eVision::EPoint GetContour () const
 Returns the coordinates of the starting point of the countour of the coded element.
eVision::EPathVector GetContourPath () const
 Returns the contour path.
const eVision::EPathVector & GetConvexHull () const
 Gets the convex hull of the coded element.
void ComputeConvexHull (eVision::EPathVector &result) const
 Computes the convex hull of the coded element.
eVision::EBW8 ComputePixelMin (const eVision::EROIBW8 &image) const
 Computes the minimum gray level of the pixels of a given image over the coded element.
eVision::EBW8 ComputePixelMax (const eVision::EROIBW8 &image) const
 Computes the maximum gray level of the pixels of a given image over the coded element.
float ComputePixelGrayAverage (const eVision::EROIBW8 &image) const
 Computes the average gray-level value of the pixels of a given image over the coded element.
float ComputePixelGrayDeviation (const eVision::EROIBW8 &image) const
 Computes the standard deviation of the gray-level values of a given image over the coded element.
double ComputePixelGrayVariance (const eVision::EROIBW8 &image) const
 Computes the variance of the gray-level values of a given image over the coded element.
eVision::EPoint ComputeWeightedGravityCenter (const eVision::EROIBW8 &image) const
 Computes the gravity center of a given image over the coded element.
void RenderMask (eVision::EROIBW8 &destination, int offsetX, int offsetY) const
 Creates a Flexible Mask from the coded element.
void RenderMask (eVision::EROIBW8 &destination) const
 Creates a Flexible Mask from the coded element.
void Draw (eVision::EDrawAdapter *drawAdapter, float zoomX, float zoomY, float panX, float panY) const
 Draw the ECodedElement.
void Draw (eVision::EDrawAdapter *drawAdapter, float zoomX, float zoomY, float panX) const
 Draw the ECodedElement.
void Draw (eVision::EDrawAdapter *drawAdapter, float zoomX, float zoomY) const
 Draw the ECodedElement.
void Draw (eVision::EDrawAdapter *drawAdapter, float zoomX) const
 Draw the ECodedElement.
void Draw (eVision::EDrawAdapter *drawAdapter) const
 Draw the ECodedElement.
void Draw (eVision::EDrawAdapter *drawAdapter, const eVision::EFrame &frame, float zoomX, float zoomY, float panX, float panY) const
 Draw the ECodedElement.
void Draw (eVision::EDrawAdapter *drawAdapter, const eVision::EFrame &frame, float zoomX, float zoomY, float panX) const
 Draw the ECodedElement.
void Draw (eVision::EDrawAdapter *drawAdapter, const eVision::EFrame &frame, float zoomX, float zoomY) const
 Draw the ECodedElement.
void Draw (eVision::EDrawAdapter *drawAdapter, const eVision::EFrame &frame, float zoomX) const
 Draw the ECodedElement.
void Draw (eVision::EDrawAdapter *drawAdapter, const eVision::EFrame &frame) const
 Draw the ECodedElement.
void DrawFeature (eVision::EDrawAdapter *drawAdapter, eVision::EDrawableFeature feature, float zoomX, float zoomY, float panX, float panY, bool drawDiagonals) const
 Draw a given feature of the ECodedElement.
void DrawFeature (eVision::EDrawAdapter *drawAdapter, eVision::EDrawableFeature feature, float zoomX, float zoomY, float panX, float panY) const
 Draw a given feature of the ECodedElement.
void DrawFeature (eVision::EDrawAdapter *drawAdapter, eVision::EDrawableFeature feature, float zoomX, float zoomY, float panX) const
 Draw a given feature of the ECodedElement.
void DrawFeature (eVision::EDrawAdapter *drawAdapter, eVision::EDrawableFeature feature, float zoomX, float zoomY) const
 Draw a given feature of the ECodedElement.
void DrawFeature (eVision::EDrawAdapter *drawAdapter, eVision::EDrawableFeature feature, float zoomX) const
 Draw a given feature of the ECodedElement.
void DrawFeature (eVision::EDrawAdapter *drawAdapter, eVision::EDrawableFeature feature) const
 Draw a given feature of the ECodedElement.
void DrawFeature (eVision::EDrawAdapter *drawAdapter, eVision::EDrawableFeature feature, const eVision::EFrame &frame, float zoomX, float zoomY, float panX, float panY, bool drawDiagonals) const
 Draw a given feature of the ECodedElement.
void DrawFeature (eVision::EDrawAdapter *drawAdapter, eVision::EDrawableFeature feature, const eVision::EFrame &frame, float zoomX, float zoomY, float panX, float panY) const
 Draw a given feature of the ECodedElement.
void DrawFeature (eVision::EDrawAdapter *drawAdapter, eVision::EDrawableFeature feature, const eVision::EFrame &frame, float zoomX, float zoomY, float panX) const
 Draw a given feature of the ECodedElement.
void DrawFeature (eVision::EDrawAdapter *drawAdapter, eVision::EDrawableFeature feature, const eVision::EFrame &frame, float zoomX, float zoomY) const
 Draw a given feature of the ECodedElement.
void DrawFeature (eVision::EDrawAdapter *drawAdapter, eVision::EDrawableFeature feature, const eVision::EFrame &frame, float zoomX) const
 Draw a given feature of the ECodedElement.
void DrawFeature (eVision::EDrawAdapter *drawAdapter, eVision::EDrawableFeature feature, const eVision::EFrame &frame) const
 Draw a given feature of the ECodedElement.
void DrawFeretBox (eVision::EDrawAdapter *drawAdapter, float feretAngle, float zoomX, float zoomY, float panX, float panY, bool drawDiagonals) const
 Draw a given feature of the ECodedElement.
void DrawFeretBox (eVision::EDrawAdapter *drawAdapter, float feretAngle, float zoomX, float zoomY, float panX, float panY) const
 Draw a given feature of the ECodedElement.
void DrawFeretBox (eVision::EDrawAdapter *drawAdapter, float feretAngle, float zoomX, float zoomY, float panX) const
 Draw a given feature of the ECodedElement.
void DrawFeretBox (eVision::EDrawAdapter *drawAdapter, float feretAngle, float zoomX, float zoomY) const
 Draw a given feature of the ECodedElement.
void DrawFeretBox (eVision::EDrawAdapter *drawAdapter, float feretAngle, float zoomX) const
 Draw a given feature of the ECodedElement.
void DrawFeretBox (eVision::EDrawAdapter *drawAdapter, float feretAngle) const
 Draw a given feature of the ECodedElement.
void DrawFeretBox (eVision::EDrawAdapter *drawAdapter, float feretAngle, const eVision::EFrame &frame, float zoomX, float zoomY, float panX, float panY, bool drawDiagonals) const
 Draw a given feature of the ECodedElement.
void DrawFeretBox (eVision::EDrawAdapter *drawAdapter, float feretAngle, const eVision::EFrame &frame, float zoomX, float zoomY, float panX, float panY) const
 Draw a given feature of the ECodedElement.
void DrawFeretBox (eVision::EDrawAdapter *drawAdapter, float feretAngle, const eVision::EFrame &frame, float zoomX, float zoomY, float panX) const
 Draw a given feature of the ECodedElement.
void DrawFeretBox (eVision::EDrawAdapter *drawAdapter, float feretAngle, const eVision::EFrame &frame, float zoomX, float zoomY) const
 Draw a given feature of the ECodedElement.
void DrawFeretBox (eVision::EDrawAdapter *drawAdapter, float feretAngle, const eVision::EFrame &frame, float zoomX) const
 Draw a given feature of the ECodedElement.
void DrawFeretBox (eVision::EDrawAdapter *drawAdapter, float feretAngle, const eVision::EFrame &frame) const
 Draw a given feature of the ECodedElement.
void DrawWeightedGravityCenter (eVision::EDrawAdapter *drawAdapter, const eVision::EROIBW8 &image, float zoomX, float zoomY, float panX, float panY) const
 Draw a given feature of the ECodedElement.
void DrawWeightedGravityCenter (eVision::EDrawAdapter *drawAdapter, const eVision::EROIBW8 &image, float zoomX, float zoomY, float panX) const
 Draw a given feature of the ECodedElement.
void DrawWeightedGravityCenter (eVision::EDrawAdapter *drawAdapter, const eVision::EROIBW8 &image, float zoomX, float zoomY) const
 Draw a given feature of the ECodedElement.
void DrawWeightedGravityCenter (eVision::EDrawAdapter *drawAdapter, const eVision::EROIBW8 &image, float zoomX) const
 Draw a given feature of the ECodedElement.
void DrawWeightedGravityCenter (eVision::EDrawAdapter *drawAdapter, const eVision::EROIBW8 &image) const
 Draw a given feature of the ECodedElement.
void DrawWeightedGravityCenter (eVision::EDrawAdapter *drawAdapter, const eVision::EROIBW8 &image, const eVision::EFrame &frame, float zoomX, float zoomY, float panX, float panY) const
 Draw a given feature of the ECodedElement.
void DrawWeightedGravityCenter (eVision::EDrawAdapter *drawAdapter, const eVision::EROIBW8 &image, const eVision::EFrame &frame, float zoomX, float zoomY, float panX) const
 Draw a given feature of the ECodedElement.
void DrawWeightedGravityCenter (eVision::EDrawAdapter *drawAdapter, const eVision::EROIBW8 &image, const eVision::EFrame &frame, float zoomX, float zoomY) const
 Draw a given feature of the ECodedElement.
void DrawWeightedGravityCenter (eVision::EDrawAdapter *drawAdapter, const eVision::EROIBW8 &image, const eVision::EFrame &frame, float zoomX) const
 Draw a given feature of the ECodedElement.
void DrawWeightedGravityCenter (eVision::EDrawAdapter *drawAdapter, const eVision::EROIBW8 &image, const eVision::EFrame &frame) const
 Draw a given feature of the ECodedElement.
 ECodedElement (CppWrapperInternal::InternalConstructor)

Public Attributes

CppWrapperInternal::WrappedClass wrappedClass_

Detailed Description

This class encapsulates either an object or a hole in an object, in a coded image.

This abstract class provides a large set of methods applicable to a particular coded element. The set includes methods to get the features of a coded element, to draw coded elements, and to render flexible masks.

License(s): EasyObject

Constructor & Destructor Documentation

◆ ECodedElement() [1/2]

eVision::ECodedElement::ECodedElement ( const eVision::ECodedElement & other)

Copy constructor.

Parameters
otherOther ECodedElement to copy

◆ ~ECodedElement()

eVision::ECodedElement::~ECodedElement ( )
throw ( )
virtual

◆ ECodedElement() [2/2]

eVision::ECodedElement::ECodedElement ( CppWrapperInternal::InternalConstructor )

Member Function Documentation

◆ ComputeConvexHull()

void eVision::ECodedElement::ComputeConvexHull ( eVision::EPathVector & result) const

Computes the convex hull of the coded element.

Parameters
resultThe output vector where to store the convex hull.

◆ ComputeFeretBox()

eVision::ERotatedBoundingBox eVision::ECodedElement::ComputeFeretBox ( float angle) const

Computes the Feret box at a specific orientation.

Parameters
angleThe orientation of interest (in the current angle units).

The angle of the Feret box is the angle made between the X-axis and the width side of the box as shown in the image below:

◆ ComputePixelGrayAverage()

float eVision::ECodedElement::ComputePixelGrayAverage ( const eVision::EROIBW8 & image) const

Computes the average gray-level value of the pixels of a given image over the coded element.

Parameters
imageThe input image.

◆ ComputePixelGrayDeviation()

float eVision::ECodedElement::ComputePixelGrayDeviation ( const eVision::EROIBW8 & image) const

Computes the standard deviation of the gray-level values of a given image over the coded element.

Parameters
imageThe input image.

◆ ComputePixelGrayVariance()

double eVision::ECodedElement::ComputePixelGrayVariance ( const eVision::EROIBW8 & image) const

Computes the variance of the gray-level values of a given image over the coded element.

Parameters
imageThe input image.

◆ ComputePixelMax()

eVision::EBW8 eVision::ECodedElement::ComputePixelMax ( const eVision::EROIBW8 & image) const

Computes the maximum gray level of the pixels of a given image over the coded element.

Parameters
imageThe input image.

◆ ComputePixelMin()

eVision::EBW8 eVision::ECodedElement::ComputePixelMin ( const eVision::EROIBW8 & image) const

Computes the minimum gray level of the pixels of a given image over the coded element.

Parameters
imageThe input image.

◆ ComputeWeightedGravityCenter()

eVision::EPoint eVision::ECodedElement::ComputeWeightedGravityCenter ( const eVision::EROIBW8 & image) const

Computes the gravity center of a given image over the coded element.

Parameters
imageThe input image.

◆ Draw() [1/10]

void eVision::ECodedElement::Draw ( eVision::EDrawAdapter * drawAdapter) const

Draw the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.

◆ Draw() [2/10]

void eVision::ECodedElement::Draw ( eVision::EDrawAdapter * drawAdapter,
const eVision::EFrame & frame ) const

Draw the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
frameFrame of reference used to compute the coded image.

◆ Draw() [3/10]

void eVision::ECodedElement::Draw ( eVision::EDrawAdapter * drawAdapter,
const eVision::EFrame & frame,
float zoomX ) const

Draw the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
frameFrame of reference used to compute the coded image.
zoomXHorizontal zooming factor. By default, true scale is used.

◆ Draw() [4/10]

void eVision::ECodedElement::Draw ( eVision::EDrawAdapter * drawAdapter,
const eVision::EFrame & frame,
float zoomX,
float zoomY ) const

Draw the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
frameFrame of reference used to compute the coded image.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.

◆ Draw() [5/10]

void eVision::ECodedElement::Draw ( eVision::EDrawAdapter * drawAdapter,
const eVision::EFrame & frame,
float zoomX,
float zoomY,
float panX ) const

Draw the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
frameFrame of reference used to compute the coded image.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.

◆ Draw() [6/10]

void eVision::ECodedElement::Draw ( eVision::EDrawAdapter * drawAdapter,
const eVision::EFrame & frame,
float zoomX,
float zoomY,
float panX,
float panY ) const

Draw the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
frameFrame of reference used to compute the coded image.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.
panYVertical panning value expressed in pixels. By default, no panning occurs.

◆ Draw() [7/10]

void eVision::ECodedElement::Draw ( eVision::EDrawAdapter * drawAdapter,
float zoomX ) const

Draw the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
zoomXHorizontal zooming factor. By default, true scale is used.

◆ Draw() [8/10]

void eVision::ECodedElement::Draw ( eVision::EDrawAdapter * drawAdapter,
float zoomX,
float zoomY ) const

Draw the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.

◆ Draw() [9/10]

void eVision::ECodedElement::Draw ( eVision::EDrawAdapter * drawAdapter,
float zoomX,
float zoomY,
float panX ) const

Draw the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.

◆ Draw() [10/10]

void eVision::ECodedElement::Draw ( eVision::EDrawAdapter * drawAdapter,
float zoomX,
float zoomY,
float panX,
float panY ) const

Draw the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.
panYVertical panning value expressed in pixels. By default, no panning occurs.

◆ DrawFeature() [1/12]

void eVision::ECodedElement::DrawFeature ( eVision::EDrawAdapter * drawAdapter,
eVision::EDrawableFeature feature ) const

Draw a given feature of the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
featureThe feature of interest.

Call the methods ECodedElement::DrawFeretBox and ECodedElement::DrawWeightedGravityCenter to draw the features EDrawableFeature::EDrawableFeature_FeretBox and EDrawableFeature::EDrawableFeature_WeightedGravityCenter.

◆ DrawFeature() [2/12]

void eVision::ECodedElement::DrawFeature ( eVision::EDrawAdapter * drawAdapter,
eVision::EDrawableFeature feature,
const eVision::EFrame & frame ) const

Draw a given feature of the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
featureThe feature of interest.
frameFrame of reference used to compute the coded image.

Call the methods ECodedElement::DrawFeretBox and ECodedElement::DrawWeightedGravityCenter to draw the features EDrawableFeature::EDrawableFeature_FeretBox and EDrawableFeature::EDrawableFeature_WeightedGravityCenter.

◆ DrawFeature() [3/12]

void eVision::ECodedElement::DrawFeature ( eVision::EDrawAdapter * drawAdapter,
eVision::EDrawableFeature feature,
const eVision::EFrame & frame,
float zoomX ) const

Draw a given feature of the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
featureThe feature of interest.
frameFrame of reference used to compute the coded image.
zoomXHorizontal zooming factor. By default, true scale is used.

Call the methods ECodedElement::DrawFeretBox and ECodedElement::DrawWeightedGravityCenter to draw the features EDrawableFeature::EDrawableFeature_FeretBox and EDrawableFeature::EDrawableFeature_WeightedGravityCenter.

◆ DrawFeature() [4/12]

void eVision::ECodedElement::DrawFeature ( eVision::EDrawAdapter * drawAdapter,
eVision::EDrawableFeature feature,
const eVision::EFrame & frame,
float zoomX,
float zoomY ) const

Draw a given feature of the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
featureThe feature of interest.
frameFrame of reference used to compute the coded image.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.

Call the methods ECodedElement::DrawFeretBox and ECodedElement::DrawWeightedGravityCenter to draw the features EDrawableFeature::EDrawableFeature_FeretBox and EDrawableFeature::EDrawableFeature_WeightedGravityCenter.

◆ DrawFeature() [5/12]

void eVision::ECodedElement::DrawFeature ( eVision::EDrawAdapter * drawAdapter,
eVision::EDrawableFeature feature,
const eVision::EFrame & frame,
float zoomX,
float zoomY,
float panX ) const

Draw a given feature of the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
featureThe feature of interest.
frameFrame of reference used to compute the coded image.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.

Call the methods ECodedElement::DrawFeretBox and ECodedElement::DrawWeightedGravityCenter to draw the features EDrawableFeature::EDrawableFeature_FeretBox and EDrawableFeature::EDrawableFeature_WeightedGravityCenter.

◆ DrawFeature() [6/12]

void eVision::ECodedElement::DrawFeature ( eVision::EDrawAdapter * drawAdapter,
eVision::EDrawableFeature feature,
const eVision::EFrame & frame,
float zoomX,
float zoomY,
float panX,
float panY ) const

Draw a given feature of the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
featureThe feature of interest.
frameFrame of reference used to compute the coded image.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.
panYVertical panning value expressed in pixels. By default, no panning occurs.

Call the methods ECodedElement::DrawFeretBox and ECodedElement::DrawWeightedGravityCenter to draw the features EDrawableFeature::EDrawableFeature_FeretBox and EDrawableFeature::EDrawableFeature_WeightedGravityCenter.

◆ DrawFeature() [7/12]

void eVision::ECodedElement::DrawFeature ( eVision::EDrawAdapter * drawAdapter,
eVision::EDrawableFeature feature,
const eVision::EFrame & frame,
float zoomX,
float zoomY,
float panX,
float panY,
bool drawDiagonals ) const

Draw a given feature of the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
featureThe feature of interest.
frameFrame of reference used to compute the coded image.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.
panYVertical panning value expressed in pixels. By default, no panning occurs.
drawDiagonalsSpecifies whether or not the diagonals of the ellipses and of the rectangles are to be drawn. Defaults to false.

Call the methods ECodedElement::DrawFeretBox and ECodedElement::DrawWeightedGravityCenter to draw the features EDrawableFeature::EDrawableFeature_FeretBox and EDrawableFeature::EDrawableFeature_WeightedGravityCenter.

◆ DrawFeature() [8/12]

void eVision::ECodedElement::DrawFeature ( eVision::EDrawAdapter * drawAdapter,
eVision::EDrawableFeature feature,
float zoomX ) const

Draw a given feature of the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
featureThe feature of interest.
zoomXHorizontal zooming factor. By default, true scale is used.

Call the methods ECodedElement::DrawFeretBox and ECodedElement::DrawWeightedGravityCenter to draw the features EDrawableFeature::EDrawableFeature_FeretBox and EDrawableFeature::EDrawableFeature_WeightedGravityCenter.

◆ DrawFeature() [9/12]

void eVision::ECodedElement::DrawFeature ( eVision::EDrawAdapter * drawAdapter,
eVision::EDrawableFeature feature,
float zoomX,
float zoomY ) const

Draw a given feature of the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
featureThe feature of interest.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.

Call the methods ECodedElement::DrawFeretBox and ECodedElement::DrawWeightedGravityCenter to draw the features EDrawableFeature::EDrawableFeature_FeretBox and EDrawableFeature::EDrawableFeature_WeightedGravityCenter.

◆ DrawFeature() [10/12]

void eVision::ECodedElement::DrawFeature ( eVision::EDrawAdapter * drawAdapter,
eVision::EDrawableFeature feature,
float zoomX,
float zoomY,
float panX ) const

Draw a given feature of the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
featureThe feature of interest.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.

Call the methods ECodedElement::DrawFeretBox and ECodedElement::DrawWeightedGravityCenter to draw the features EDrawableFeature::EDrawableFeature_FeretBox and EDrawableFeature::EDrawableFeature_WeightedGravityCenter.

◆ DrawFeature() [11/12]

void eVision::ECodedElement::DrawFeature ( eVision::EDrawAdapter * drawAdapter,
eVision::EDrawableFeature feature,
float zoomX,
float zoomY,
float panX,
float panY ) const

Draw a given feature of the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
featureThe feature of interest.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.
panYVertical panning value expressed in pixels. By default, no panning occurs.

Call the methods ECodedElement::DrawFeretBox and ECodedElement::DrawWeightedGravityCenter to draw the features EDrawableFeature::EDrawableFeature_FeretBox and EDrawableFeature::EDrawableFeature_WeightedGravityCenter.

◆ DrawFeature() [12/12]

void eVision::ECodedElement::DrawFeature ( eVision::EDrawAdapter * drawAdapter,
eVision::EDrawableFeature feature,
float zoomX,
float zoomY,
float panX,
float panY,
bool drawDiagonals ) const

Draw a given feature of the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
featureThe feature of interest.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.
panYVertical panning value expressed in pixels. By default, no panning occurs.
drawDiagonalsSpecifies whether or not the diagonals of the ellipses and of the rectangles are to be drawn. Defaults to false.

Call the methods ECodedElement::DrawFeretBox and ECodedElement::DrawWeightedGravityCenter to draw the features EDrawableFeature::EDrawableFeature_FeretBox and EDrawableFeature::EDrawableFeature_WeightedGravityCenter.

◆ DrawFeretBox() [1/12]

void eVision::ECodedElement::DrawFeretBox ( eVision::EDrawAdapter * drawAdapter,
float feretAngle ) const

Draw a given feature of the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
feretAngleThe angle of the bounding box.

◆ DrawFeretBox() [2/12]

void eVision::ECodedElement::DrawFeretBox ( eVision::EDrawAdapter * drawAdapter,
float feretAngle,
const eVision::EFrame & frame ) const

Draw a given feature of the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
feretAngleThe angle of the bounding box.
frameFrame of reference used to compute the coded image.

◆ DrawFeretBox() [3/12]

void eVision::ECodedElement::DrawFeretBox ( eVision::EDrawAdapter * drawAdapter,
float feretAngle,
const eVision::EFrame & frame,
float zoomX ) const

Draw a given feature of the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
feretAngleThe angle of the bounding box.
frameFrame of reference used to compute the coded image.
zoomXHorizontal zooming factor. By default, true scale is used.

◆ DrawFeretBox() [4/12]

void eVision::ECodedElement::DrawFeretBox ( eVision::EDrawAdapter * drawAdapter,
float feretAngle,
const eVision::EFrame & frame,
float zoomX,
float zoomY ) const

Draw a given feature of the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
feretAngleThe angle of the bounding box.
frameFrame of reference used to compute the coded image.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.

◆ DrawFeretBox() [5/12]

void eVision::ECodedElement::DrawFeretBox ( eVision::EDrawAdapter * drawAdapter,
float feretAngle,
const eVision::EFrame & frame,
float zoomX,
float zoomY,
float panX ) const

Draw a given feature of the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
feretAngleThe angle of the bounding box.
frameFrame of reference used to compute the coded image.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.

◆ DrawFeretBox() [6/12]

void eVision::ECodedElement::DrawFeretBox ( eVision::EDrawAdapter * drawAdapter,
float feretAngle,
const eVision::EFrame & frame,
float zoomX,
float zoomY,
float panX,
float panY ) const

Draw a given feature of the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
feretAngleThe angle of the bounding box.
frameFrame of reference used to compute the coded image.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.
panYVertical panning value expressed in pixels. By default, no panning occurs.

◆ DrawFeretBox() [7/12]

void eVision::ECodedElement::DrawFeretBox ( eVision::EDrawAdapter * drawAdapter,
float feretAngle,
const eVision::EFrame & frame,
float zoomX,
float zoomY,
float panX,
float panY,
bool drawDiagonals ) const

Draw a given feature of the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
feretAngleThe angle of the bounding box.
frameFrame of reference used to compute the coded image.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.
panYVertical panning value expressed in pixels. By default, no panning occurs.
drawDiagonalsSpecifies whether or not the diagonals of the ellipses and of the rectangles are to be drawn. Defaults to false.

◆ DrawFeretBox() [8/12]

void eVision::ECodedElement::DrawFeretBox ( eVision::EDrawAdapter * drawAdapter,
float feretAngle,
float zoomX ) const

Draw a given feature of the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
feretAngleThe angle of the bounding box.
zoomXHorizontal zooming factor. By default, true scale is used.

◆ DrawFeretBox() [9/12]

void eVision::ECodedElement::DrawFeretBox ( eVision::EDrawAdapter * drawAdapter,
float feretAngle,
float zoomX,
float zoomY ) const

Draw a given feature of the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
feretAngleThe angle of the bounding box.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.

◆ DrawFeretBox() [10/12]

void eVision::ECodedElement::DrawFeretBox ( eVision::EDrawAdapter * drawAdapter,
float feretAngle,
float zoomX,
float zoomY,
float panX ) const

Draw a given feature of the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
feretAngleThe angle of the bounding box.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.

◆ DrawFeretBox() [11/12]

void eVision::ECodedElement::DrawFeretBox ( eVision::EDrawAdapter * drawAdapter,
float feretAngle,
float zoomX,
float zoomY,
float panX,
float panY ) const

Draw a given feature of the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
feretAngleThe angle of the bounding box.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.
panYVertical panning value expressed in pixels. By default, no panning occurs.

◆ DrawFeretBox() [12/12]

void eVision::ECodedElement::DrawFeretBox ( eVision::EDrawAdapter * drawAdapter,
float feretAngle,
float zoomX,
float zoomY,
float panX,
float panY,
bool drawDiagonals ) const

Draw a given feature of the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
feretAngleThe angle of the bounding box.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.
panYVertical panning value expressed in pixels. By default, no panning occurs.
drawDiagonalsSpecifies whether or not the diagonals of the ellipses and of the rectangles are to be drawn. Defaults to false.

◆ DrawWeightedGravityCenter() [1/10]

void eVision::ECodedElement::DrawWeightedGravityCenter ( eVision::EDrawAdapter * drawAdapter,
const eVision::EROIBW8 & image ) const

Draw a given feature of the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
imageThe image to compute the weights for the gravity center.

◆ DrawWeightedGravityCenter() [2/10]

void eVision::ECodedElement::DrawWeightedGravityCenter ( eVision::EDrawAdapter * drawAdapter,
const eVision::EROIBW8 & image,
const eVision::EFrame & frame ) const

Draw a given feature of the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
imageThe image to compute the weights for the gravity center.
frameFrame of reference used to compute the coded image.

◆ DrawWeightedGravityCenter() [3/10]

void eVision::ECodedElement::DrawWeightedGravityCenter ( eVision::EDrawAdapter * drawAdapter,
const eVision::EROIBW8 & image,
const eVision::EFrame & frame,
float zoomX ) const

Draw a given feature of the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
imageThe image to compute the weights for the gravity center.
frameFrame of reference used to compute the coded image.
zoomXHorizontal zooming factor. By default, true scale is used.

◆ DrawWeightedGravityCenter() [4/10]

void eVision::ECodedElement::DrawWeightedGravityCenter ( eVision::EDrawAdapter * drawAdapter,
const eVision::EROIBW8 & image,
const eVision::EFrame & frame,
float zoomX,
float zoomY ) const

Draw a given feature of the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
imageThe image to compute the weights for the gravity center.
frameFrame of reference used to compute the coded image.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.

◆ DrawWeightedGravityCenter() [5/10]

void eVision::ECodedElement::DrawWeightedGravityCenter ( eVision::EDrawAdapter * drawAdapter,
const eVision::EROIBW8 & image,
const eVision::EFrame & frame,
float zoomX,
float zoomY,
float panX ) const

Draw a given feature of the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
imageThe image to compute the weights for the gravity center.
frameFrame of reference used to compute the coded image.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.

◆ DrawWeightedGravityCenter() [6/10]

void eVision::ECodedElement::DrawWeightedGravityCenter ( eVision::EDrawAdapter * drawAdapter,
const eVision::EROIBW8 & image,
const eVision::EFrame & frame,
float zoomX,
float zoomY,
float panX,
float panY ) const

Draw a given feature of the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
imageThe image to compute the weights for the gravity center.
frameFrame of reference used to compute the coded image.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.
panYVertical panning value expressed in pixels. By default, no panning occurs.

◆ DrawWeightedGravityCenter() [7/10]

void eVision::ECodedElement::DrawWeightedGravityCenter ( eVision::EDrawAdapter * drawAdapter,
const eVision::EROIBW8 & image,
float zoomX ) const

Draw a given feature of the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
imageThe image to compute the weights for the gravity center.
zoomXHorizontal zooming factor. By default, true scale is used.

◆ DrawWeightedGravityCenter() [8/10]

void eVision::ECodedElement::DrawWeightedGravityCenter ( eVision::EDrawAdapter * drawAdapter,
const eVision::EROIBW8 & image,
float zoomX,
float zoomY ) const

Draw a given feature of the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
imageThe image to compute the weights for the gravity center.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.

◆ DrawWeightedGravityCenter() [9/10]

void eVision::ECodedElement::DrawWeightedGravityCenter ( eVision::EDrawAdapter * drawAdapter,
const eVision::EROIBW8 & image,
float zoomX,
float zoomY,
float panX ) const

Draw a given feature of the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
imageThe image to compute the weights for the gravity center.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.

◆ DrawWeightedGravityCenter() [10/10]

void eVision::ECodedElement::DrawWeightedGravityCenter ( eVision::EDrawAdapter * drawAdapter,
const eVision::EROIBW8 & image,
float zoomX,
float zoomY,
float panX,
float panY ) const

Draw a given feature of the ECodedElement.

Parameters
drawAdapterGraphic context on which to draw.
imageThe image to compute the weights for the gravity center.
zoomXHorizontal zooming factor. By default, true scale is used.
zoomYVertical zooming factor. If set to 0 (default), the horizontal zooming factor is used instead, so as to provide isotropic zooming.
panXHorizontal panning value expressed in pixels. By default, no panning occurs.
panYVertical panning value expressed in pixels. By default, no panning occurs.

◆ GetArea()

unsigned int eVision::ECodedElement::GetArea ( ) const

Returns the number of pixels inside the coded element.

Equivalently, the area corresponds to the sum of the length of the runs of the coded element.

◆ GetBottomLimit()

int eVision::ECodedElement::GetBottomLimit ( ) const

Returns the highest (integer) Y-coordinate of all the pixels of the coded element.

For a coded element \(E\), this value is defined as: \(\left\lceil \max \left\{ y \mid (\exists x) (x,y) \in E \right\} \right\rceil \)

◆ GetBoundingBox()

eVision::ERotatedBoundingBox eVision::ECodedElement::GetBoundingBox ( ) const

Returns the bounding box of the coded element (Feret box at orientation 0 degrees).

◆ GetBoundingBoxCenter()

eVision::EPoint eVision::ECodedElement::GetBoundingBoxCenter ( ) const

Returns the coordinates of the center of the bounding box of the coded element.

◆ GetBoundingBoxCenterX()

float eVision::ECodedElement::GetBoundingBoxCenterX ( ) const

Returns the abscissa of the center of the bounding box of the coded element.

◆ GetBoundingBoxCenterY()

float eVision::ECodedElement::GetBoundingBoxCenterY ( ) const

Returns the ordinate of the center of the bounding box of the coded element.

◆ GetBoundingBoxHeight()

float eVision::ECodedElement::GetBoundingBoxHeight ( ) const

Returns the height of the bounding box (Feret diameter at 90 degrees).

◆ GetBoundingBoxWidth()

float eVision::ECodedElement::GetBoundingBoxWidth ( ) const

Returns the width of the bounding box (Feret diameter at 0 degrees).

◆ GetCentralMoment()

float eVision::ECodedElement::GetCentralMoment ( unsigned int p,
unsigned int q ) const

Computes the central, two-dimensional moment of order (p,q).

Parameters
pOrder of the moment along the X-axis.
qOrder of the moment along the Y-axis.

\(\mu_{pq} = \sum_{x} \sum_{y} (x - \bar{x})^p(y - \bar{y})^q I(x,y)\)

◆ GetContour()

eVision::EPoint eVision::ECodedElement::GetContour ( ) const

Returns the coordinates of the starting point of the countour of the coded element.

More precisely, the leftmost pixel over the topmost row of the coded element is taken into consideration.

◆ GetContourPath()

eVision::EPathVector eVision::ECodedElement::GetContourPath ( ) const

Returns the contour path.

The contour paths is computed using EContourMode_ClockwiseAlwaysClosed.

◆ GetContourX()

int eVision::ECodedElement::GetContourX ( ) const

Returns the abscissa of the starting point of the countour of the coded element.

◆ GetContourY()

int eVision::ECodedElement::GetContourY ( ) const

Returns the ordinate of the starting point of the countour of the coded element.

◆ GetConvexHull()

const eVision::EPathVector & eVision::ECodedElement::GetConvexHull ( ) const

Gets the convex hull of the coded element.

◆ GetEccentricity()

float eVision::ECodedElement::GetEccentricity ( ) const

Returns the eccentricity of the ellipse of inertia.

The ellipse of inertia is defined as the ellipse that has the same second order moments as the original coded element. The eccentricity is zero for circular objects and one for a line-shaped objects.

◆ GetElementIndex()

unsigned int eVision::ECodedElement::GetElementIndex ( ) const

Returns the index of the coded element.

If the coded element is an object, its index is relative to the layer to which it belongs. If the coded element is a hole, its index is relative to its parent object.

◆ GetEllipseAngle()

float eVision::ECodedElement::GetEllipseAngle ( ) const

Returns the angle of the ellipse of inertia.

The ellipse of inertia is defined as the ellipse that has the same second order moments as the original coded element.

◆ GetEllipseHeight()

float eVision::ECodedElement::GetEllipseHeight ( ) const

Returns the length of the short axis of the ellipse of inertia.

The ellipse of inertia is defined as the ellipse that has the same second order moments as the original coded element.

◆ GetEllipseWidth()

float eVision::ECodedElement::GetEllipseWidth ( ) const

Returns the length of the long axis of the ellipse of inertia.

The ellipse of inertia is defined as the ellipse that has the same second order moments as the original coded element.

◆ GetFeretBox22Box()

eVision::ERotatedBoundingBox eVision::ECodedElement::GetFeretBox22Box ( ) const

Returns the Feret box at orientation 22.5 degrees.

◆ GetFeretBox22Center()

eVision::EPoint eVision::ECodedElement::GetFeretBox22Center ( ) const

Returns the coordinates of the center of the Feret box oriented at 22.5 degrees.

◆ GetFeretBox22CenterX()

float eVision::ECodedElement::GetFeretBox22CenterX ( ) const

Returns the abscissa of the center of the Feret box oriented at 22.5 degrees.

◆ GetFeretBox22CenterY()

float eVision::ECodedElement::GetFeretBox22CenterY ( ) const

Returns the ordinate of the center of the Feret box oriented at 22.5 degrees.

◆ GetFeretBox22Height()

float eVision::ECodedElement::GetFeretBox22Height ( ) const

Returns the height of the Feret box oriented at 22.5 degrees (Feret diameter at 112.5 degrees).

◆ GetFeretBox22Width()

float eVision::ECodedElement::GetFeretBox22Width ( ) const

Returns the width of the Feret box oriented at 22.5 degrees (Feret diameter at 22.5 degrees).

◆ GetFeretBox45Box()

eVision::ERotatedBoundingBox eVision::ECodedElement::GetFeretBox45Box ( ) const

Returns the Feret box at orientation 45 degrees.

◆ GetFeretBox45Center()

eVision::EPoint eVision::ECodedElement::GetFeretBox45Center ( ) const

Returns the coordinates of the center of the Feret box oriented at 45 degrees.

◆ GetFeretBox45CenterX()

float eVision::ECodedElement::GetFeretBox45CenterX ( ) const

Returns the abscissa of the center of the Feret box oriented at 45 degrees.

◆ GetFeretBox45CenterY()

float eVision::ECodedElement::GetFeretBox45CenterY ( ) const

Returns the ordinate of the center of the Feret box oriented at 45 degrees.

◆ GetFeretBox45Height()

float eVision::ECodedElement::GetFeretBox45Height ( ) const

Returns the height of the Feret box oriented at 45 degrees (Feret diameter at 135 degrees).

◆ GetFeretBox45Width()

float eVision::ECodedElement::GetFeretBox45Width ( ) const

Returns the width of the Feret box oriented at 45 degrees (Feret diameter at 45 degrees).

◆ GetFeretBox68Box()

eVision::ERotatedBoundingBox eVision::ECodedElement::GetFeretBox68Box ( ) const

Returns the Feret box at orientation 67.5 degrees.

◆ GetFeretBox68Center()

eVision::EPoint eVision::ECodedElement::GetFeretBox68Center ( ) const

Returns the coordinates of the center of the Feret box oriented at 67.5 degrees.

◆ GetFeretBox68CenterX()

float eVision::ECodedElement::GetFeretBox68CenterX ( ) const

Returns the abscissa of the center of the Feret box oriented at 67.5 degrees.

◆ GetFeretBox68CenterY()

float eVision::ECodedElement::GetFeretBox68CenterY ( ) const

Returns the ordinate of the center of the Feret box oriented at 67.5 degrees.

◆ GetFeretBox68Height()

float eVision::ECodedElement::GetFeretBox68Height ( ) const

Returns the height of the Feret box oriented at 67.5 degrees (Feret diameter at 157.5 degrees).

◆ GetFeretBox68Width()

float eVision::ECodedElement::GetFeretBox68Width ( ) const

Returns the width of the Feret box oriented at 67.5 degrees (Feret diameter at 67.5 degrees).

◆ GetFrame()

const eVision::EFrame & eVision::ECodedElement::GetFrame ( ) const

Sets the frame in which the region was defined.

◆ GetGravityCenter()

eVision::EPoint eVision::ECodedElement::GetGravityCenter ( ) const

Returns the gravity center of the coded element.

◆ GetGravityCenterX()

float eVision::ECodedElement::GetGravityCenterX ( ) const

Returns the abscissa of the gravity center of the coded element.

For a coded element \(E\), this value is defined as:

\[\frac{\sum_{(x,y)\in E} x}{\sum_{(x,y)\in E} 1}\]

◆ GetGravityCenterY()

float eVision::ECodedElement::GetGravityCenterY ( ) const

Returns the ordinate of the gravity center of the coded element.

For a coded element \(E\), this value is defined as:

\[\frac{\sum_{(x,y)\in E} y}{\sum_{(x,y)\in E} 1}\]

◆ GetHole()

eVision::ECodedElement eVision::ECodedElement::GetHole ( uint32_t index) const

Returns a specified hole in the object.

Parameters
indexThe index of the hole of interest.

◆ GetHoleCount()

uint32_t eVision::ECodedElement::GetHoleCount ( ) const

Returns the number of holes in the object.

◆ GetHoles()

std::vector< eVision::ECodedElement > eVision::ECodedElement::GetHoles ( ) const

Returns all holes for the given object.

◆ GetLargestRun()

unsigned int eVision::ECodedElement::GetLargestRun ( ) const

Returns the length of the largest run inside the coded element.

◆ GetLayerIndex()

unsigned int eVision::ECodedElement::GetLayerIndex ( ) const

Returns the index of the layer in the coded image to which the coded element belongs.

If the coded element is a hole, its layer index is defined as that of its parent object.

◆ GetLeftLimit()

int eVision::ECodedElement::GetLeftLimit ( ) const

Returns the lowest (integer) X-coordinate of all the pixels of the coded element.

For a coded element \(E\), this value is defined as: \(\left\lfloor \min \left\{ x \mid (\exists y) (x,y) \in E \right\} \right\rfloor \)

◆ GetMinimumEnclosingRectangle()

eVision::ERotatedBoundingBox eVision::ECodedElement::GetMinimumEnclosingRectangle ( ) const

Returns the Minimum-Area Enclosing Rectangle.

The Minimum-Area Enclosing Rectangle is defined as the Feret box with the minimum surface among all the possible orientations.

◆ GetMinimumEnclosingRectangleAngle()

float eVision::ECodedElement::GetMinimumEnclosingRectangleAngle ( ) const

Returns the angle of the Minimum-Area Enclosing Rectangle.

The angle is the angle between the width side of the rectangle and the horizontal. It always lies in the range [0 ; pi/2[.

◆ GetMinimumEnclosingRectangleCenter()

eVision::EPoint eVision::ECodedElement::GetMinimumEnclosingRectangleCenter ( ) const

Returns the coordinates of the center of the Minimum-Area Enclosing Rectangle.

◆ GetMinimumEnclosingRectangleCenterX()

float eVision::ECodedElement::GetMinimumEnclosingRectangleCenterX ( ) const

Returns the abscissa of the center of the Minimum-Area Enclosing Rectangle.

◆ GetMinimumEnclosingRectangleCenterY()

float eVision::ECodedElement::GetMinimumEnclosingRectangleCenterY ( ) const

Returns the ordinate of the center of the Minimum-Area Enclosing Rectangle.

◆ GetMinimumEnclosingRectangleHeight()

float eVision::ECodedElement::GetMinimumEnclosingRectangleHeight ( ) const

Returns the height of the Minimum-Area Enclosing Rectangle.

◆ GetMinimumEnclosingRectangleWidth()

float eVision::ECodedElement::GetMinimumEnclosingRectangleWidth ( ) const

Returns the width of the Minimum-Area Enclosing Rectangle.

◆ GetMoment()

double eVision::ECodedElement::GetMoment ( unsigned int p,
unsigned int q ) const

Computes the raw, two-dimensional moment of order (p,q).

Parameters
pOrder of the moment along the X-axis.
qOrder of the moment along the Y-axis.

\(M_{pq} = \sum_x \sum_y x^p y^q I(x,y)\)

◆ GetNormalizedCentralMoment()

float eVision::ECodedElement::GetNormalizedCentralMoment ( unsigned int p,
unsigned int q ) const

Computes the scale-invariant, central, two-dimensional moment of order (p,q).

Parameters
pOrder of the moment along the X-axis.
qOrder of the moment along the Y-axis.

\(\eta_{pq} = \frac{\mu_{pq}} {\mu_{00}^{\left(1 + \frac{p+q}{2}\right)}}\)

◆ GetParentObjectIndex()

unsigned int eVision::ECodedElement::GetParentObjectIndex ( ) const

Returns the index of the parent object of the hole.

◆ GetRightLimit()

int eVision::ECodedElement::GetRightLimit ( ) const

Returns the highest (integer) X-coordinate of all the pixels of the coded element.

For a coded element \(E\), this value is defined as: \(\left\lceil \max \left\{ x \mid (\exists y) (x,y) \in E \right\} \right\rceil \)

◆ GetRunCount()

unsigned int eVision::ECodedElement::GetRunCount ( ) const

Returns the number of runs inside the coded element.

◆ GetRunsIterator()

const eVision::EObjectRunsIterator & eVision::ECodedElement::GetRunsIterator ( ) const

Returns an iterator to the runs of the coded element.

◆ GetSigmaX()

float eVision::ECodedElement::GetSigmaX ( ) const

Returns the centered moment of inertia around X. This is equal to the average squared Y-deviation (variance on Y). It can be expressed in terms of central moment as CentralMoment(0, 2) / Area.

◆ GetSigmaXX()

float eVision::ECodedElement::GetSigmaXX ( ) const

Returns the first centered principal moment of inertia.

This is the moment of inertia around the first principal axis of the object. It is defined as the biggest eigenvalue of the inertia tensor.

◆ GetSigmaXY()

float eVision::ECodedElement::GetSigmaXY ( ) const

Returns the centered product of inertia. The is equal to the covariance of the X and Y pixel coordinates. It can be expressed in terms of central moment as CentralMoment(1, 1) / Area.

◆ GetSigmaY()

float eVision::ECodedElement::GetSigmaY ( ) const

Returns the centered moment of inertia around Y. This is equal to the average squared X-deviation (variance on X). It can be expressed in terms of central moment as CentralMoment(2, 0) / Area.

◆ GetSigmaYY()

float eVision::ECodedElement::GetSigmaYY ( ) const

Returns the second centered principal moment of inertia.

This is the moment of inertia around the second principal axis of the object. It is defined as the smallest eigenvalue of the inertia tensor.

◆ GetTopLimit()

int eVision::ECodedElement::GetTopLimit ( ) const

Returns the lowest (integer) Y-coordinate of all the pixels of the coded element.

For a coded element \(E\), this value is defined as: \(\left\lfloor \min \left\{ y \mid (\exists x) (x,y) \in E \right\} \right\rfloor \)

◆ IsCodedElement()

bool eVision::ECodedElement::IsCodedElement ( ) const

Tests whether the coded element is an object, a hole or a coded element.

◆ IsHole()

bool eVision::ECodedElement::IsHole ( ) const

Tests whether the coded element is an object, a hole or a coded element.

◆ IsObject()

bool eVision::ECodedElement::IsObject ( ) const

Tests whether the coded element is an object, a hole or a coded element.

◆ operator=()

eVision::ECodedElement & eVision::ECodedElement::operator= ( const eVision::ECodedElement & other)

Assignment operator.

Parameters
otherOther ECodedElement to assign to this object

◆ operator==()

bool eVision::ECodedElement::operator== ( const eVision::ECodedElement & other) const

Comparison Operator.

Parameters
otherThe other ECodedElement this one will be compared to.

◆ RenderMask() [1/2]

void eVision::ECodedElement::RenderMask ( eVision::EROIBW8 & destination) const

Creates a Flexible Mask from the coded element.

Parameters
destinationThe image in which the generated mask will be stored.

The size of the result image will not be changed: It must be properly sized beforehand.

◆ RenderMask() [2/2]

void eVision::ECodedElement::RenderMask ( eVision::EROIBW8 & destination,
int offsetX,
int offsetY ) const

Creates a Flexible Mask from the coded element.

Parameters
destinationThe image in which the generated mask will be stored.
offsetXThe X-offset that must be applied to bring the zero X-coordinate in the coded image on the first column of the result image (defaults to zero).
offsetYThe Y-offset that must be applied to bring the zero Y-coordinate in the coded image on the first row of the result image (defaults to zero).

The size of the result image will not be changed: It must be properly sized beforehand.

◆ SetFrame()

void eVision::ECodedElement::SetFrame ( const eVision::EFrame & frame)

Sets the frame in which the region was defined.

Parameters
frameFrame of reference in which the region was defined.

◆ ToFrame() [1/2]

eVision::EFrame eVision::ECodedElement::ToFrame ( bool useAngle,
eVision::EFrameScaling frameScaling ) const

Creates an EFrame from the ECodedElement. The parameters of the frame are determined by the ellipse of inertia.

Parameters
useAngleWhether to use the angle of the EFoundPattern in the frame.
frameScalingHow to handle the scale of the frame.

◆ ToFrame() [2/2]

eVision::EFrame eVision::ECodedElement::ToFrame ( bool useAngle,
eVision::EFrameScaling frameScaling,
const eVision::EFrame & inputFrame ) const

Creates an EFrame from the ECodedElement. The parameters of the frame are determined by the ellipse of inertia.

Parameters
useAngleWhether to use the angle of the EFoundPattern in the frame.
frameScalingHow to handle the scale of the frame.
inputFrameParent frame. Used when the ECodedElement was read using a frame.

◆ ToRegion()

eVision::ERegion eVision::ECodedElement::ToRegion ( ) const

Creates an ERegion from the ECodedElement. The ERegion represents all the pixels which are within the bounding box of the Pattern.

Member Data Documentation

◆ wrappedClass_

CppWrapperInternal::WrappedClass eVision::ECodedElement::wrappedClass_