F_VN_GetAffineTransformation2DExp

F_VN_GetAffineTransformation2DExp 1:

Estimate the affine transformation between two planar point sets. (expert function)

Syntax

Definition:

FUNCTION F_VN_GetAffineTransformation2DExp : HRESULT
VAR_INPUT
    ipSrcPoints      : ITcVnContainer;
    ipDestPoints     : ITcVnContainer;
END_VAR
VAR_IN_OUT
    aAffineTransform : TcVnMatrix2x3_LREAL;
END_VAR
VAR_INPUT
    eAlgorithm       : ETcVnEstimationAlgorithm;
    fReprojThreshold : LREAL;
    ipInlierMask     : Reference To ITcVnContainer;
    nMaxIterations   : UDINT;
    fConfidence      : LREAL;
    nRefineIters     : UDINT;
    hrPrev           : HRESULT;
END_VAR

F_VN_GetAffineTransformation2DExp 2: Inputs

Name

Type

Description

ipSrcPoints

ITcVnContainer

Container with at least 3 source points (ContainerType_Vector_TcVnPoint2_REAL)

ipDestPoints

ITcVnContainer

Container with destination points (same number as ipSrcPoints, ContainerType_Vector_TcVnPoint2_REAL)

eAlgorithm

ETcVnEstimationAlgorithm

Estimation algorithm (only RANSAC and LMEDS are supported)

fReprojThreshold

LREAL

Maximum allowed reprojection error to treat a point pair as an inlier

ipInlierMask

Reference To ITcVnContainer

Returns a mask marking the inliers (optional, set to 0 if not required; ContainerType_Vector_USINT)

nMaxIterations

UDINT

Maximum number of iterations

fConfidence

LREAL

Confidence (0..1)

nRefineIters

UDINT

Maximum number of iterations of Levenberg-Marquardt algorithm to refine further the affine transform (using only inliers). Set to 0 to disable refining.

hrPrev

HRESULT

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

F_VN_GetAffineTransformation2DExp 3: In/Outputs

Name

Type

Description

aAffineTransform

TcVnMatrix2x3_LREAL

Returns the affine transformation matrix, which transforms the source points to the destination points

F_VN_GetAffineTransformation2DExp 4: Return value

HRESULT

Required License

TC3 Vision Base

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