F_VN_DetectPatternPointsExp
Detects calibration pattern points (circles) within the provided image. (expert function)
Can use available TwinCAT Job Tasks for executing parallel code regions.
Syntax
Definition:
FUNCTION F_VN_DetectPatternPointsExp : HRESULT
VAR_INPUT
ipSrcImage : ITcVnImage;
ipPatternPoints : Reference To ITcVnContainer;
END_VAR
VAR_IN_OUT
stBlobDetectionParams : TcVnParamsBlobDetection;
END_VAR
VAR_INPUT
nNumberOfPoints : UDINT;
fSizeDiffThresFactor : REAL;
bSubpixelAccuracy : BOOL;
eEdgeDirection : ETcVnEdgeDirection;
fMinStrength : REAL;
nMaxThickness : UDINT;
nSubpixelsIterations : UDINT;
nSearchLines : UDINT;
fApproxPrecision : REAL;
eAlgorithm : ETcVnEdgeDetectionAlgorithm;
hrPrev : HRESULT;
END_VAR
Inputs
Name |
Type |
Description |
---|---|---|
ipSrcImage |
Source image (USINT, 1 channel) | |
ipPatternPoints |
Reference To ITcVnContainer |
Returns the pattern point positions (ContainerType_Vector_TcVnPoint2_REAL; Non-zero interface pointers are reused.) |
nNumberOfPoints |
UDINT |
Expected number of pattern points |
fSizeDiffThresFactor |
REAL |
Threshold for filtering contours by average size |
bSubpixelAccuracy |
BOOL |
If true, the pattern points are detected with subpixel accuracy |
eEdgeDirection |
Specification of the edge direction to search for (from center to outside circle) | |
fMinStrength |
REAL |
Specification of the minimum strength (intensity difference) of the edge to search for |
nMaxThickness |
UDINT |
Specification of the maximum thickness of the edge to search for, which means fMinStrength must be reached within nMaxThickness pixels |
nSubpixelsIterations |
UDINT |
Specifies the number of subpixels (for INTERPOLATION, 10 - 20 usually is sufficient) or maximum number of iterations for optimizing the parameters (for APPROX_ERF and APPROX_GAUSSIAN, 50 - 100 usually is sufficient) |
nSearchLines |
UDINT |
Specifies the amount of search lines, which are equally distributed in all directions (must be >= 8 and a multiple of 4) |
fApproxPrecision |
REAL |
Specifies the approximation precision for APPROX_ERF and APPROX_GAUSSIAN (0.001 usually is sufficient, unused for INTERPOLATION) |
eAlgorithm |
Selection of the edge detection algorithm | |
hrPrev |
HRESULT indicating the result of previous operations (If SUCCEEDED(hrPrev) equals false, no operation is executed.) |
In/Outputs
Name |
Type |
Description |
---|---|---|
stBlobDetectionParams |
Parameters to detect and filter contours. |
Required License
TC3 Vision Metrology 2D
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 |