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

 

HRESULT indicating the result of previous operations (If SUCCEEDED(hrPrev) equals false, no operation is executed.)

ipSrcImage

ITcVnImage*

 

Source image (USINT, 1 channel, gray-level)

ipCircles

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

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

ETcVnHoughMethod

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))

HoughCircles 1: Return value

HRESULT

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