F_VN_DecomposeHomographyExp
Decompose a homography matrix and verify four solutions of rotation, translation, and plane normal. It uses visible reference points being in front of the camera to confirm which solution(s) of the four solutions (maximum two solutions) are consistent with all reference points.
Syntax
Definition:
FUNCTION F_VN_DecomposeHomographyExp : HRESULT
VAR_IN_OUT
aHomography : TcVnMatrix3x3_LREAL;
aCameraMatrix : TcVnMatrix3x3_LREAL;
aRotationMatrixA : TcVnMatrix3x3_LREAL;
aTranslationVectorA : TcVnVector3_LREAL;
aNormVectorA : TcVnVector3_LREAL;
aRotationMatrixB : TcVnMatrix3x3_LREAL;
aTranslationVectorB : TcVnVector3_LREAL;
aNormVectorB : TcVnVector3_LREAL;
END_VAR
VAR_INPUT
ipPointsSrc : ITcVnContainer;
ipPointsDes : ITcVnContainer;
ipInlierMask : ITcVnContainer;
hrPrev : HRESULT;
END_VAR
VAR_OUTPUT
nSolutions : UDINT;
END_VAR
Inputs
Name |
Type |
Description |
---|---|---|
ipPointsSrc |
Container with source points (ContainerType_Vector_TcVnPoint2_REAL) | |
ipPointsDes |
Container with destination points (same number as ipPoints1, ContainerType_Vector_TcVnPoint2_REAL) | |
ipInlierMask |
A mask marking the inliers (optional, set to 0 if not available; ContainerType_Vector_SINT or ContainerType_Vector_USINT) | |
hrPrev |
HRESULT indicating the result of previous operations (If SUCCEEDED(hrPrev) equals false, no operation is executed.) |
In/Outputs
Name |
Type |
Description |
---|---|---|
aHomography |
Homography matrix (a perspective transformation between two planes) | |
aCameraMatrix |
Camera matrix | |
aRotationMatrixA |
Rotation matrix of the first solution (Ra) | |
aTranslationVectorA |
Translation vector of the first solution (Ta) | |
aNormVectorA |
Norm vector of the first solution (Na) | |
aRotationMatrixB |
Rotation matrix of the second solution (Rb) | |
aTranslationVectorB |
Translation vector of the second solution (Tb) | |
aNormVectorB |
Norm vector of the second solution (Nb) |
Outputs
Name |
Type |
Description |
---|---|---|
nSolutions |
UDINT |
Return the number of true potential solutions [0,1, or 2]. 0: no true potential solutions for the given corresponding points are confirmed. 1: the solution (Ra, Ta, Na) is confirmed. 2: both solution (Ra, Ta, Na) and (Rb, Tb, Nb) are confirmed. In all cases the function returns two solutions (Ra, Ta, Nb) and (Rb, Tb, Nb). The third and the fourth solutions can be calculated as follows: (Ra, -Ta, -Na) and (Rb, -Tb, -Nb). |
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 |