Herror ::hough_circles (
    Hobject RegionIn,
    Hobject *RegionOut,
    const HTuple &Radius,
    const HTuple &Percent,
    const HTuple &Mode
)
HRegionArray HRegion::HoughCircles (
    const HTuple &Radius,
    const HTuple &Percent,
    const HTuple &Mode
) const

Centres of circles for a specific radius.

::hough_circle_trans detects the centres of circles in regions with the help of the Hough transform for circles with a specific radius.


Parameters

RegionIn (input_object)
region -> Hobject: HRegion
Binary edge image in which the circles are to be detected.

RegionOut (output_object)
region(-array) -> Hobject * : HRegion(Array)
Centres of those circles which are included in the edge image by Percent percent.
Number of elements: RegionOut == ((Radius * Percent) * Mode)

Radius (input_control)
integer(-array) -> HTuple.long
Radius of the circle to be searched in the image.
Default value: 12
Typical range of values: 2 <= Radius <= 500 (lin)
Minimum increment: 1
Recommended increment: 1
Number of elements: (1 <= Radius) <= 500

Percent (input_control)
integer(-array) -> HTuple.long
Indicates the percentage (approximately) of the (ideal) circle which must be present in the edge image RegionIn.
Default value: 60
Typical range of values: 10 <= Percent <= 100 (lin)
Minimum increment: 1
Recommended increment: 5
Number of elements: (1 <= Percent) <= 100

Mode (input_control)
integer(-array) -> HTuple.long
The modus defines the position of the circle in question:

0 - the radius is equivalent to the outer border of the set pixels.

1 - the radius is equivalent to the centres of the circle lines´ pixels.

2 - both 0 and 1 (a little more fuzzy, but more reliable in contrast to circles set slightly differently, necessitates 50 more processing capacity compared to 0 or 1 alone).

List of values: 0, 1, 2
Number of elements: (1 <= Mode) <= 3


Result

The operator ::hough_circles returns the value H_MSG_TRUE if the input is not empty. The behavior in case of empty input (no input regions available) is set via the operator ::set_system('no_object_result',<Result>), the behavior in case of empty region is set via ::set_system('empty_region_result',<Result>). If necessary an exception handling is raised.


Module

Region processing



Copyright © 1996-2002 MVTec Software GmbH