MatchDescriptorsBF

Match descriptors using a brute force approach.
Can use available TwinCAT Job Tasks for executing parallel code regions.

Syntax

Definition:

HRESULT MatchDescriptorsBF(
    HRESULT                hrPrev,
    ITcVnImage*            ipQueryDescriptors,
    ITcVnImage*            ipTrainDescriptors,
    ITcVnContainer*&       ipMatches,
    ITcVnImage*            ipMask = nullptr,
    ETcVnNormalizationType eNormType = NT_L2,
    bool                   bCrossCheck = false
)

Parameters

Name

Type

Default

Description

hrPrev

HRESULT

 

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

ipQueryDescriptors

ITcVnImage*

 

Query descriptors (i.e. descriptors of a reference/template image)

ipTrainDescriptors

ITcVnImage*

 

Training descriptors (i.e. descriptors of a source/input image)

ipMatches

ITcVnContainer*&

 

Returns a container which is filled with the descriptor matches (ContainerType_Vector_TcVnDMatch; Non-zero interface pointers are reused.)

ipMask

ITcVnImage*

nullptr

Mask to specify permissable matches, i.e. query[i] can be matched with train[j] only if mask[i][j] != 0 (set to 0 if no mask required)

eNormType

ETcVnNormalizationType

NT_L2

Normalization type (only L1, L2, L2SQR, HAMMING, HAMMING2 supported). HAMMING2 should be used for ORB descriptors if the ORB nBriefPoints parameter is 3 or 4)

bCrossCheck

bool

false

If true, only consistent matches are returned, i.e. query->train and train->query detect the same match

MatchDescriptorsBF 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