GetAffineTransformation2D
Estimate the affine transformation between two planar point sets.
Syntax
Definition:
HRESULT GetAffineTransformation2D(
HRESULT hrPrev,
ITcVnContainer* ipSrcPoints,
ITcVnContainer* ipDestPoints,
TcVnMatrix2x3_LREAL& aAffineTransform,
ETcVnEstimationAlgorithm eAlgorithm = EA_RANSAC,
double fReprojThreshold = 3,
ITcVnContainer** pipInlierMask = nullptr,
ULONG nMaxIterations = 2000,
double fConfidence = 0.995,
ULONG nRefineIters = 10
)
Parameters
Name |
Type |
Default |
Description |
---|---|---|---|
hrPrev |
|
HRESULT indicating the result of previous operations (If SUCCEEDED(hrPrev) equals false, no operation is executed.) | |
ipSrcPoints |
|
Container with at least 3 source points (ContainerType_Vector_TcVnPoint2_REAL) | |
ipDestPoints |
|
Container with destination points (same number as ipSrcPoints, ContainerType_Vector_TcVnPoint2_REAL) | |
aAffineTransform |
|
Returns the affine transformation matrix, which transforms the source points to the destination points | |
eAlgorithm |
EA_RANSAC |
Estimation algorithm (only RANSAC and LMEDS are supported) | |
fReprojThreshold |
double |
3 |
Maximum allowed reprojection error to treat a point pair as an inlier |
pipInlierMask |
nullptr |
Returns a mask marking the inliers (optional, set to 0 if not required; ContainerType_Vector_USINT) | |
nMaxIterations |
ULONG |
2000 |
Maximum number of iterations |
fConfidence |
double |
0.995 |
Confidence (0..1) |
nRefineIters |
ULONG |
10 |
Maximum number of iterations of Levenberg-Marquardt algorithm to refine further the affine transform (using only inliers). Set to 0 to disable refining. |
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 |