split_skeleton2 ( SkeletonRegion : : MaxDistance : BeginRow, BeginCol, EndRow, EndCol )

Split lines represented by one pixel wide, non-branching regions.

split_skeleton2 splits lines represented by one pixel wide, non-branching regions into shorter lines based on their curvature. A line is split if the maximum distance of a point on the line to the line segment connecting its end points is larger than MaxDistance (split merge algorithm). The start and end points of the approximating line segments are returned in BeginRow, BeginCol, EndRow, and EndCol.


Parameters

SkeletonRegion (input_object)
region-array -> object
Input lines (represented by 1 pixel wide, non-branching regions.

MaxDistance (input_control)
integer -> integer
Maximum distance of the line points to the line segment connecting both end points.
Default value: 3
Suggested values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Range of values: 1 <= MaxDistance <= 500 (lin)
Minimum increment: 1
Recommended increment: 1

BeginRow (output_control)
line.begin.y-array -> integer
Row coordinates of the start points of the output lines.

BeginCol (output_control)
line.begin.x-array -> integer
Column coordinates of the start points of the output lines.

EndRow (output_control)
line.end.y-array -> integer
Row coordinates of the end points of the output lines.

EndCol (output_control)
line.end.x-array -> integer
Column coordinates of the end points of the output lines.


Result

split_skeleton2 always returns the value TRUE. The behavior in case of empty input (no regions given) can be set via set_system(::'no_object_result',<Result>:), the behavior in case of an empty input region via set_system(::'empty_region_result',<Result>:), and the behavior in case of an empty result region via set_system(::'store_empty_region',<true/false>:). If necessary, an exception is raised.


Possible Predecessors

skeleton, junc, difference


Possible Successors

select_lines1, disp_line


See also

split_skeleton1



Copyright © 1996-1997 MVTec Software GmbH