You are here: Start » AVL.NET » Invoke.FindSingleLine

Invoke.FindSingleLine

Finds a single straight line within a rectangular scan field.

Namespace:Avl
Assembly:AvlNet.dll

Syntax

C++
C#
 
public static void FindSingleLine
(
	Avl.Image inImage,
	Avl.SegmentScanField inScanField,
	Optional<Avl.CoordinateSystem2D> inScanFieldAlignment,
	int inScanWidth,
	int inScanStep,
	int inScanLimit,
	Avl.EdgeScanParams inEdgeScanParams,
	float inPointBlindness,
	float inMaxSlant,
	float inMinLength,
	float inMaxGap,
	int inMinPointCount,
	Avl.LineSelection inLineSelection,
	float inLineBlindness,
	Avl.EdgeMeasure inEdgeMeasure,
	Avl.LineFinderMethod inLineFinderMethod,
	float inMaxPointDeviation,
	float inMaxTurnAngle,
	Optional<Avl.LineMEstimator> inOutlierSuppression,
	bool inRefineEndpoints,
	Conditional<Avl.Segment2D> outLine,
	Optional<float> outLineStrength,
	List<Avl.Profile> outResponseProfiles,
	Optional<Avl.SegmentScanField> outAlignedScanField,
	List<Avl.Point2D> outSelectedPoints,
	Diagnostic<List<Avl.Segment2D>> diagScanLines,
	Diagnostic<List<Avl.Point2D>> diagCandidatePoints
)

Parameters

Name Type Range Default Description
inImageAvl.ImageInput image.
inScanFieldAvl.SegmentScanFieldRegion where the scans are performed.
inScanFieldAlignmentAtl.Optional<Avl.CoordinateSystem2D>
inScanWidthint<1, INF>5How many pixels are sampled perpendicularly at each scan line's positions. Default value: 5.
inScanStepint<1, INF>10Pixel distance between the centers of consecutive scan lines. Default value: 10.
inScanLimitint<1, INF>50Maximum number of scan lines. Default value: 50.
inEdgeScanParamsAvl.EdgeScanParamsEdgeScanParams ( ProfileInterpolation: Quadratic4 SmoothingStdDev: 0.6f MinMagnitude: 5.0f EdgeTransition: Any )Parameters of 1D edge detection along a single scan line. Default value: EdgeScanParams ( ProfileInterpolation: Quadratic4 SmoothingStdDev: 0.6f MinMagnitude: 5.0f EdgeTransition: Any ).
inPointBlindnessfloat<0.0f, 1.0f>0.3fDefines a threshold for rejecting edge points that are weaker than a certain portion of the strongest edge point. Default value: 0.3f.
inMaxSlantfloat<0.0f, 45.0f>30.0fMaximum angle deviation of the resulting line from 90 degrees to the scan axis. Default value: 30.0f.
inMinLengthfloat<0.0f, INF>10.0fMinimum length of the resulting line. Default value: 10.0f.
inMaxGapfloat<0.0f, INF>50.0fMaximum gap within a resulting line. Default value: 50.0f.
inMinPointCountint<2, INF>3Minimum number of edge points that a resulting line must contain (otherwise it is rejected). Default value: 3.
inLineSelectionAvl.LineSelectionFittestSelection criteria for edge lines. Default value: Fittest.
inLineBlindnessfloat<0.0f, 1.0f>0.4fDefines a threshold for rejecting entire lines that are weaker than a certain portion of the strongest line. Default value: 0.4f.
inEdgeMeasureAvl.EdgeMeasureLogMagnitudeSeveral options for measuring a single edge point. Default value: LogMagnitude.
inLineFinderMethodAvl.LineFinderMethodHoughSeveral alternative algorithms for finding lines within the detected cloud of edge points. Default value: Hough.
inMaxPointDeviationfloat<0.0f, INF>2.5fMaximum pixel distance between a detected line and its supporting edge points. Default value: 2.5f.
inMaxTurnAnglefloat<0.0f, 90.0f>10.0fMaximum turn angle at any interior vertex of the line path. Default value: 10.0f.
inOutlierSuppressionAtl.Optional<Avl.LineMEstimator>TheilSenA method for removing outlying points. Default value: TheilSen.
inRefineEndpointsboolTrueTurns on a method for refining the length of the detected line. Default value: True.
outLineAtl.Conditional<Avl.Segment2D>
outLineStrengthAtl.Optional<float>
outResponseProfilesSystem.Collections.Generic.List<Avl.Profile>Edge response profiles, one per scan line.
outAlignedScanFieldAtl.Optional<Avl.SegmentScanField>
outSelectedPointsSystem.Collections.Generic.List<Avl.Point2D>List of points associated with the returned line.
diagScanLinesAvl.Diagnostic<System.Collections.Generic.List<Avl.Segment2D>>
diagCandidatePointsAvl.Diagnostic<System.Collections.Generic.List<Avl.Point2D>>

See also