DrawMatches

Draws the keypoints and matches for visualization purpose.
Can use available TwinCAT Job Tasks for executing parallel code regions.

Syntax

Definition:

HRESULT DrawMatches(
    HRESULT               hrPrev,
    ITcVnImage*           ipSrcImage1,
    ITcVnContainer*       ipKeyPoints1,
    ITcVnImage*           ipSrcImage2,
    ITcVnContainer*       ipKeyPoints2,
    ITcVnContainer*       ipMatches1To2,
    ITcVnImage*&          ipDestImage,
    TcVnVector4_LREAL&    aMatchColor = {-1, -1, -1, -1},
    TcVnVector4_LREAL&    aSingleColor = {-1, -1, -1, -1},
    ITcVnContainer*       ipMatchesMask = nullptr,
    ETcVnDrawMatchesFlags eFlags = DMF_DEFAULT
)

Parameters

Name

Type

Default

Description

hrPrev

HRESULT

 

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

ipSrcImage1

ITcVnImage*

 

Source image 1 (elements of type USINT)

ipKeyPoints1

ITcVnContainer*

 

Container with the keypoints 1 (ContainerType_Vector_TcVnKeyPoint)

ipSrcImage2

ITcVnImage*

 

Source image 2 (elements of type USINT, must have the same number of channels as ipSrcImage1)

ipKeyPoints2

ITcVnContainer*

 

Container with the keypoints 2 (ContainerType_Vector_TcVnKeyPoint)

ipMatches1To2

ITcVnContainer*

 

Container with the descriptor matches (ContainerType_Vector_TcVnDMatch)

ipDestImage

ITcVnImage*&

 

Destination image (An appropriate color image will be created if required.)

aMatchColor

TcVnVector4_LREAL&

{-1, -1, -1, -1}

Color to draw the matches (for {-1, -1, -1, -1}, a random color is chosen for each point and line)

aSingleColor

TcVnVector4_LREAL&

{-1, -1, -1, -1}

Color to draw the single keypoints (for {-1, -1, -1, -1}, a random color is chosen for each point)

ipMatchesMask

ITcVnContainer*

nullptr

Mask to select the matches to be drawn (ContainerType_Vector_SINT; Set to 0 if all matches should be drawn.)

eFlags

ETcVnDrawMatchesFlags

DMF_DEFAULT

A combination of flags to support overdrawing an existing destination image and/or drawing additional (Rich-)Keypoint information (size and orientation) and/or skipping single keypoints

DrawMatches 1: Return value

HRESULT

Required License

TC3 Vision Matching

System Requirements

Development environment

Target platform

PLC libraries to include

TwinCAT V3.1.4024.59 or later

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

Tc3_Vision