F_VN_HoughCirclesExp
Search for circles using the Hough transform. (expert function)
Can use available TwinCAT Job Tasks for executing parallel code regions.
Can return partial results when canceled by Watchdog.
Syntax
Definition:
FUNCTION F_VN_HoughCirclesExp : HRESULT
VAR_INPUT
ipSrcImage : ITcVnImage;
ipCircles : Reference To ITcVnContainer;
fInvAccuRatio : LREAL;
fMinDist : LREAL;
eHoughMethod : ETcVnHoughMethod;
fParam1 : LREAL;
fParam2 : LREAL;
nMinRadius : UDINT;
nMaxRadius : UDINT;
hrPrev : HRESULT;
END_VAR
Inputs
Name |
Type |
Description |
---|---|---|
ipSrcImage |
Source image (USINT, 1 channel, gray-level) | |
ipCircles |
Reference To ITcVnContainer |
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 |
LREAL |
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 |
LREAL |
Smallest allowed distance of two circles (must be > 0) |
eHoughMethod |
Hough method to use (GRADIENT or GRADIENT_ALT) | |
fParam1 |
LREAL |
First method specific parameter (GRADIENT, GRADIENT_ALT: upper threshold for canny edge detection, which must be > 0) |
fParam2 |
LREAL |
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 |
UDINT |
Minimum circle radius allowed |
nMaxRadius |
UDINT |
Maximum circle radius allowed (if 0, the value is internally set to max(image rows, image columns)) |
hrPrev |
HRESULT indicating the result of previous operations (If SUCCEEDED(hrPrev) equals false, no operation is executed.) |
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 |