DetectPatternPoints
Detects calibration pattern points (circles) within the provided image.
Can use available TwinCAT Job Tasks for executing parallel code regions.
Syntax
Definition:
HRESULT DetectPatternPoints(
HRESULT hrPrev,
ITcVnImage* ipSrcImage,
ITcVnContainer*& ipPatternPoints,
TcVnParamsBlobDetection& stBlobDetectionParams,
ULONG nNumberOfPoints,
float fSizeDiffThresFactor = 0.3f,
bool bSubpixelAccuracy = false,
ETcVnEdgeDirection eEdgeDirection = ED_DARK_TO_LIGHT,
float fMinStrength = 50,
ULONG nMaxThickness = 10,
ULONG nSubpixelsIterations = 10,
ULONG nSearchLines = 92,
float fApproxPrecision = 0.001f,
ETcVnEdgeDetectionAlgorithm eAlgorithm = EDA_INTERPOLATION
)
Parameters
Name |
Type |
Default |
Description |
---|---|---|---|
hrPrev |
|
HRESULT indicating the result of previous operations (If SUCCEEDED(hrPrev) equals false, no operation is executed.) | |
ipSrcImage |
|
Source image (USINT, 1 channel) | |
ipPatternPoints |
|
Returns the pattern point positions (ContainerType_Vector_TcVnPoint2_REAL; Non-zero interface pointers are reused.) | |
stBlobDetectionParams |
|
Parameters to detect and filter contours. | |
nNumberOfPoints |
ULONG |
|
Expected number of pattern points |
fSizeDiffThresFactor |
float |
0.3f |
Threshold for filtering contours by average size |
bSubpixelAccuracy |
bool |
false |
If true, the pattern points are detected with subpixel accuracy |
eEdgeDirection |
ED_DARK_TO_LIGHT |
Specification of the edge direction to search for (from center to outside circle) | |
fMinStrength |
float |
50 |
Specification of the minimum strength (intensity difference) of the edge to search for |
nMaxThickness |
ULONG |
10 |
Specification of the maximum thickness of the edge to search for, which means fMinStrength must be reached within nMaxThickness pixels |
nSubpixelsIterations |
ULONG |
10 |
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 |
ULONG |
92 |
Specifies the amount of search lines, which are equally distributed in all directions (must be >= 8 and a multiple of 4) |
fApproxPrecision |
float |
0.001f |
Specifies the approximation precision for APPROX_ERF and APPROX_GAUSSIAN (0.001 usually is sufficient, unused for INTERPOLATION) |
eAlgorithm |
EDA_INTERPOLATION |
Selection of the edge detection algorithm |
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 |