HoughCircles
Search for circles using the Hough transform.
Can use available TwinCAT Job Tasks for executing parallel code regions.
Can return partial results when canceled by Watchdog.
Syntax
Definition:
HRESULT HoughCircles(
HRESULT hrPrev,
ITcVnImage* ipSrcImage,
ITcVnContainer*& ipCircles,
double fInvAccuRatio,
double fMinDist,
ETcVnHoughMethod eHoughMethod = HM_GRADIENT,
double fParam1 = 100,
double fParam2 = 100,
ULONG nMinRadius = 0,
ULONG nMaxRadius = 0
)
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, gray-level) | |
ipCircles |
|
Returns a container which is filled with the found circles (ContainerType_Vector_TcVnVector3_REAL; Each container element contains the x coordinate of the circle center [0], the y coordinate of the circle center [1], and the radius [2], respectively. Non-zero interface pointers are reused.) | |
fInvAccuRatio |
double |
|
Inverted ratio of the accumulator size in relation to the source image's size (must be > 0. A value of 2 means that the size is halved in both directions.) |
fMinDist |
double |
|
Smallest allowed distance of two circles (must be > 0) |
eHoughMethod |
HM_GRADIENT |
Hough method to use (GRADIENT or GRADIENT_ALT) | |
fParam1 |
double |
100 |
First method specific parameter (GRADIENT, GRADIENT_ALT: upper threshold for canny edge detection, which must be > 0) |
fParam2 |
double |
100 |
Second method specific parameter (GRADIENT: accumulator threshold for detecting circle centers, which must be > 0. GRADIENT_ALT: required circle perfectness, which must be > 0 and < 1, 1 would be a perfect circle) |
nMinRadius |
ULONG |
0 |
Minimum circle radius allowed |
nMaxRadius |
ULONG |
0 |
Maximum circle radius allowed (if 0, the value is internally set to max(image rows, image columns)) |
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 |