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

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

Tc3_Vision