MatchContours

Compare contours using the Hu moment invariants (and optionally further aspects). In case of multiple contours in each container, the best matches are found and the average dissimilarity over all matched contours is returned.

Syntax

Definition:

HRESULT MatchContours(
    HRESULT                            hrPrev,
    ITcVnContainer*                    ipContour1,
    ITcVnContainer*                    ipContour2,
    ETcVnContoursMatchComparisonMethod eComparisonMethod,
    double&                            fDissimilarity,
    double                             fAreaFactor = 0,
    double                             fAbsPositionFactor = 0,
    double                             fRelPositionFactor = 0,
    double                             fNumDiffFactor = 0
)

Parameters

Name

Type

Default

Description

hrPrev

HRESULT

 

HRESULT indicating the result of previous operations (If SUCCEEDED(hrPrev) equals false, no operation is executed.)

ipContour1

ITcVnContainer*

 

First contour (ContainerType_Vector_TcVnPoint2_DINT or ContainerType_Vector_TcVnPoint2_REAL; The elements of this container are the points of the contour) or collection of multiple contours (ContainerType_Vector_Vector_TcVnPoint2_DINT)

ipContour2

ITcVnContainer*

 

Second contour (same type as ipContour1)

eComparisonMethod

ETcVnContoursMatchComparisonMethod

 

Method used for comparing the Hu moment invariants of the contours

fDissimilarity

double&

 

Returns the dissimilarity of the contours depending on the chosen comparison method

fAreaFactor

double

0

If > 0, the relative area difference between contours is scaled by this factor and added to the computed dissimilarity

fAbsPositionFactor

double

0

If > 0, the absolute position difference between contours (i.e. the coordinates of the geometric contour centers) is scaled by this factor and added to the computed dissimilarity

fRelPositionFactor

double

0

If > 0, the relative position difference between contours is scaled by this factor and added to the computed dissimilarity (only used if matching multiple contours)

fNumDiffFactor

double

0

If > 0, the difference between the number of contours in both containers is scaled by this factor and added to the computed dissimilarity (only used if matching multiple contours)

MatchContours 1: Return value

HRESULT

Required License

TC3 Vision Matching

System Requirements

Development environment

Target platform

PLC libraries to include

TwinCAT V3.1. 4024.44 or later

PC or CX (x64) with PL50, e.g. Intel 4-core Atom CPU

Tc3_Vision