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.54 or later

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

Tc3_Vision