You are here: Start » AVL.NET » Invoke.FindMultipleLines
Invoke.FindMultipleLines
Finds multiple straight lines within a rectangular scan field, ordered from highest-scoring to lowest.
| Namespace: | Avl |
|---|---|
| Assembly: | AvlNet.dll |
Syntax
C++
C#
public static void FindMultipleLines ( 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, Optional<int> inMaxCount, List<Avl.Segment2D> outLines, List<float> outLineStrengths, List<Avl.Profile> outResponseProfiles, Optional<Avl.SegmentScanField> outAlignedScanField, List<List<Avl.Point2D>> outSelectedPoints, Diagnostic<List<Avl.Segment2D>> diagScanLines, Diagnostic<List<Avl.Point2D>> diagCandidatePoints )
Parameters
| Name | Type | Range | Default | Description | |
|---|---|---|---|---|---|
![]() | inImage | Avl.Image | Input image. | ||
![]() | inScanField | Avl.SegmentScanField | Region where the scans are performed. | ||
![]() | inScanFieldAlignment | Atl.Optional<Avl.CoordinateSystem2D> | |||
![]() | inScanWidth | int | <1, INF> | 5 | How many pixels are sampled perpendicularly at each scan line's positions. Default value: 5. |
![]() | inScanStep | int | <1, INF> | 10 | Pixel distance between the centers of consecutive scan lines. Default value: 10. |
![]() | inScanLimit | int | <1, INF> | 50 | Maximum number of scan lines. Default value: 50. |
![]() | inEdgeScanParams | Avl.EdgeScanParams | EdgeScanParams ( 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 ). | |
![]() | inPointBlindness | float | <0.0f, 1.0f> | 0.3f | Defines a threshold for rejecting edge points that are weaker than a certain portion of the strongest edge point. Default value: 0.3f. |
![]() | inMaxSlant | float | <0.0f, 45.0f> | 30.0f | Maximum angle deviation of the resulting line from 90 degrees to the scan axis. Default value: 30.0f. |
![]() | inMinLength | float | <0.0f, INF> | 10.0f | Minimum length of the resulting line. Default value: 10.0f. |
![]() | inMaxGap | float | <0.0f, INF> | 50.0f | Maximum gap within a resulting line. Default value: 50.0f. |
![]() | inMinPointCount | int | <2, INF> | 3 | Minimum number of edge points that a resulting line must contain (otherwise it is rejected). Default value: 3. |
![]() | inLineSelection | Avl.LineSelection | Fittest | Selection criteria for edge lines. Default value: Fittest. | |
![]() | inLineBlindness | float | <0.0f, 1.0f> | 0.4f | Defines a threshold for rejecting entire lines that are weaker than a certain portion of the strongest line. Default value: 0.4f. |
![]() | inEdgeMeasure | Avl.EdgeMeasure | LogMagnitude | Several options for measuring a single edge point. Default value: LogMagnitude. | |
![]() | inLineFinderMethod | Avl.LineFinderMethod | Hough | Several alternative algorithms for finding lines within the detected cloud of edge points. Default value: Hough. | |
![]() | inMaxPointDeviation | float | <0.0f, INF> | 2.5f | Maximum pixel distance between a detected line and its supporting edge points. Default value: 2.5f. |
![]() | inMaxTurnAngle | float | <0.0f, 90.0f> | 10.0f | Maximum turn angle at any interior vertex of the line path. Default value: 10.0f. |
![]() | inOutlierSuppression | Atl.Optional<Avl.LineMEstimator> | TheilSen | A method for removing outlying points. Default value: TheilSen. | |
![]() | inRefineEndpoints | bool | True | Turns on a method for refining the length of the detected line. Default value: True. | |
![]() | inMaxCount | Atl.Optional<int> | <1, INF> | 100 | Maximum number of lines to return. Default value: 100. |
![]() | outLines | System.Collections.Generic.List<Avl.Segment2D> | |||
![]() | outLineStrengths | System.Collections.Generic.List<float> | |||
![]() | outResponseProfiles | System.Collections.Generic.List<Avl.Profile> | Edge response profiles, one per scan line. | ||
![]() | outAlignedScanField | Atl.Optional<Avl.SegmentScanField> | |||
![]() | outSelectedPoints | System.Collections.Generic.List<System.Collections.Generic.List<Avl.Point2D>> | Lists of points associated with each returned line. | ||
![]() | diagScanLines | Avl.Diagnostic<System.Collections.Generic.List<Avl.Segment2D>> | |||
![]() | diagCandidatePoints | Avl.Diagnostic<System.Collections.Generic.List<Avl.Point2D>> |



