You are here: Start » AVL.NET » AVL.DetectSegments


Finds segments in an image.



public static void DetectSegments
	AvlNet.Image inImage,
	NullableRef<AvlNet.Region> inRoi,
	float inAngleResolution,
	float inMinAngleDelta,
	float inMinDistance,
	float inMinLength,
	float inMinScore,
	float inEdgeThreshold,
	IList<AvlNet.Segment2D> outSegments,
	AvlNet.Image diagGradientMagnitudeImage,
	AvlNet.Image diagScoreImage


Name Type Range Default Description
inImageAvlNet.ImageInput image.
inRoiAvlNet.NullableRef<AvlNet.Region>Input region of interest. Default value: atl::NIL.
inAngleResolutionfloat<0.1f, 180.0f>1.0fResolution of segments' orientation. Default value: 1.0f.
inMinAngleDeltafloat<0.0f, INF>20.0fMinimum angle between two segments. Default value: 20.0f.
inMinDistancefloat<0.0f, INF>20.0fMinimum distance between two segments. Default value: 20.0f.
inMinLengthfloat<0.0f, INF>20.0fMinimum segment length. Default value: 20.0f.
inMinScorefloat<0.0f, INF>20.0fMinimum matching score. Default value: 20.0f.
inEdgeThresholdfloat10.0fMinimum accepted edge magnitude. Default value: 10.0f.
outSegmentsSystem.Collections.Generic.IList<AvlNet.Segment2D>Output segments.
diagGradientMagnitudeImageAvlNet.ImageVisualized gradients magnitude of an input image.
diagScoreImageAvlNet.ImageCalculated score for each pixel of an input image.


The operation detects straight edges in the inImage using the Hough Transform approach and treats them as segments by tracing gradients along lines. The output array is ordered from best matching to worst matching results.

The parameter inAngleResolution specifies the precision of detected lines' orientations. Value of n means the filter will be able to reliably distinguish lines in n-degree increments.

Parameters inMinAngleDelta and inMinDistance are used for neighbouring results suppression. inMinAngleDelta specifies the minimum angle between two lines while inMinDistance specifies the minimum distance between two parallel lines. Parameter inMinLength limits the length of segments (in pixels), suppressing too short segments.

The orientations of the resulting segments are always between 0 and 180 degrees.


DetectSegments performed on the sample image with inMinScore = 0.5, inMinLength = 25.


Low values of inAngleResolution (under 0.5) may cause high memory consumption and decrease in performance.

Function Overrides

See also