You are here: Start » AVL.NET » AVL.DetectSegments(AvlNet.Image, AvlNet.Region, float, float, float, float, float, float, AvlNet.Segment2D[], AvlNet.Image, AvlNet.Image)

AVL.DetectSegments(AvlNet.Image, AvlNet.Region, float, float, float, float, float, float, AvlNet.Segment2D[], AvlNet.Image, AvlNet.Image)

Finds segments in an image.

Namespace:AvlNet
Assembly:AVL.NET.dll

Syntax


public static void DetectSegments(
	AvlNet.Image inImage,
	AvlNet.Region inRoi,
	float inAngleResolution,
	float inMinAngleDelta,
	float inMinDistance,
	float inMinLength,
	float inMinScore,
	float inEdgeThreshold,
	out AvlNet.Segment2D[] outSegments,
	out AvlNet.Image diagGradientMagnitudeImage,
	out AvlNet.Image diagScoreImage
)

Parameters

inImage
Type: AvlNet.Image
Input image
inRoi
Type: AvlNet.Region
Input region of interest, or null.
inAngleResolution
Type: System.Single
Resolution of segments' orientation
inMinAngleDelta
Type: System.Single
Minimum angle between two segments
inMinDistance
Type: System.Single
Minimum distance between two segments
inMinLength
Type: System.Single
Minimum segment length
inMinScore
Type: System.Single
Minimum matching score
inEdgeThreshold
Type: System.Single
Minimum accepted edge magnitude
outSegments
Type: AvlNet.Segment2D
Output segments
diagGradientMagnitudeImage
Type: AvlNet.Image
Visualized gradients magnitude of an input image
diagScoreImage
Type: AvlNet.Image
Calculated score for each pixel of an input image

Description

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.

Examples

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

Remarks

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

See also