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.44 or later

PC or CX (x64) with PL50, e.g. Intel 4-core Atom CPU

Tc3_Vision