F_VN_MatchDescriptorsKnnBFExp
Match descriptors (k nearest neighbors) using a brute force approach. (expert function)
Can use available TwinCAT Job Tasks for executing parallel code regions.
Syntax
Definition:
FUNCTION F_VN_MatchDescriptorsKnnBFExp : HRESULT
VAR_INPUT
ipQueryDescriptors : ITcVnImage;
ipTrainDescriptors : ITcVnImage;
ipMatches : Reference To ITcVnContainer;
nK : UDINT;
ipMask : ITcVnImage;
bCompactResult : BOOL;
eNormType : ETcVnNormalizationType;
bCrossCheck : BOOL;
hrPrev : HRESULT;
END_VAR
Inputs
Name |
Type |
Description |
---|---|---|
ipQueryDescriptors |
Query descriptors (i.e. descriptors of a reference/template image) | |
ipTrainDescriptors |
Training descriptors (i.e. descriptors of a source/input image) | |
ipMatches |
Reference To ITcVnContainer |
Returns a container which is filled with the descriptor matches (ContainerType_Vector_Vector_TcVnDMatch; Non-zero interface pointers are reused.) |
nK |
UDINT |
Number of required best train matches for each query descriptor (i.e. nk := 2) |
ipMask |
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) | |
bCompactResult |
BOOL |
If true, matches vector does not contain entries for fully masked-out query descriptors |
eNormType |
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 |
If true, only consistent matches are returned, i.e. query->train and train->query detect the same match (only used if nK = 1) |
hrPrev |
HRESULT indicating the result of previous operations (If SUCCEEDED(hrPrev) equals false, no operation is executed.) |
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 |