hough_line_transhough_line_transHoughLineTransHoughLineTrans (Operator)


hough_line_transhough_line_transHoughLineTransHoughLineTrans — Produce the Hough transform for lines within regions.


hough_line_trans(Region : HoughImage : AngleResolution : )

Herror hough_line_trans(const Hobject Region, Hobject* HoughImage, const Hlong AngleResolution)

Herror T_hough_line_trans(const Hobject Region, Hobject* HoughImage, const Htuple AngleResolution)

void HoughLineTrans(const HObject& Region, HObject* HoughImage, const HTuple& AngleResolution)

HImage HRegion::HoughLineTrans(Hlong AngleResolution) const

static void HOperatorSet.HoughLineTrans(HObject region, out HObject houghImage, HTuple angleResolution)

HImage HRegion.HoughLineTrans(int angleResolution)


The operator hough_line_transhough_line_transHoughLineTransHoughLineTransHoughLineTrans calculates the Hough transform for lines in those regions transmitted by RegionRegionRegionRegionregion. Thereby the angles and the lengths of the lines' normal vectors are registered in the parameter space (the Hough- or accumulator space respectively). This means that the parameterization is executed according to the HNF.

The result is registered in a newly generated Int2-Image (HoughImageHoughImageHoughImageHoughImagehoughImage), whereby the x-axis is equivalent to the angle between the normal vector and the x-axis (in the original image), and the y-axis is equivalent to the distance of the line from the origin.

The angle ranges from -90 to 180 degrees and will be registered with a resolution of 1 / AngleResolutionAngleResolutionAngleResolutionAngleResolutionangleResolution, which means that one pixel in x-direction is equivalent to 1 / AngleResolutionAngleResolutionAngleResolutionAngleResolutionangleResolution and that the HoughImageHoughImageHoughImageHoughImagehoughImage has a width of 270 * AngleResolutionAngleResolutionAngleResolutionAngleResolutionangleResolution + 1 pixel. The height of the HoughImageHoughImageHoughImageHoughImagehoughImage corresponds to the distance between the lower right corner of the surrounding rectangle of the input region and the origin.

The maxima in the result image are equivalent to the parameter values of the lines in the original image.

Execution Information


RegionRegionRegionRegionregion (input_object)  region objectHRegionHRegionHobject

Binary edge image in which lines are to be detected.

HoughImageHoughImageHoughImageHoughImagehoughImage (output_object)  image objectHImageHImageHobject * (int2)

Hough transform for lines.

AngleResolutionAngleResolutionAngleResolutionAngleResolutionangleResolution (input_control)  integer HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Adjusting the resolution in the angle area.

Default value: 4

List of values: 1, 2, 4, 8


The operator hough_line_transhough_line_transHoughLineTransHoughLineTransHoughLineTrans returns the value 2 (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>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>), the behavior in case of empty region is set via set_system('empty_region_result',<Result>)set_system("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>). If necessary an exception is raised.

Possible Predecessors

thresholdthresholdThresholdThresholdThreshold, skeletonskeletonSkeletonSkeletonSkeleton

Possible Successors

thresholdthresholdThresholdThresholdThreshold, local_maxlocal_maxLocalMaxLocalMaxLocalMax

See also

hough_circle_transhough_circle_transHoughCircleTransHoughCircleTransHoughCircleTrans, gen_region_hlinegen_region_hlineGenRegionHlineGenRegionHlineGenRegionHline