select_lines2 ( : : RowBeginIn, ColBeginIn, RowEndIn, ColEndIn, Feature, Operation, Min, Max : RowBeginOut, ColBeginOut, RowEndOut, ColEndOut, FailRowBOut, FailColBOut, FailRowEOut, FailColEOut )
Partition lines according to various criteria.
The operator select_lines2 divides lines into two sets
according to various criteria. For each input line the indicated
features (Feature) are calculated. If each
(Operation = 'and') or at least one
(Operation = 'or') of the calculated features is within
the given limits (Min,Max) the line is
transferred into the first set (parameter RowBeginOut to
ColEndOut), otherwise into the second set (parameter
FailRowBOut to FailColEOut).
Condition: Min_i <= Feature_i(Linie) <= Max_i
Possible values for Feature:
- 'length' (Euclidean) length of the line
- 'row' Line index of the center
- 'column' Column index of the center
- 'phi' Orientation of the line (-pi/2 < phi <= pi/2)
Attention
If only one feature is used the value of Operation is
meaningless. Several features are processed according to the
sequence in which they are passed.
Parameters
RowBeginIn (input_control)
|
line.begin.y-array -> integer
|
Row coordinates of the starting points of the
input lines. |
ColBeginIn (input_control)
|
line.begin.x-array -> integer
|
Column coordinates of the starting points of the
input lines. |
RowEndIn (input_control)
|
line.end.y-array -> integer
|
Row coordinates of the ending points of the
input lines. |
ColEndIn (input_control)
|
line.end.x-array -> integer
|
Column coordinates of the ending points of the
input lines. |
Feature (input_control)
|
string(-array) -> string
|
Features to be used for selection. |
List of values: 'length', 'row', 'column', 'phi' |
Operation (input_control)
|
string -> string
|
Desired combination of the features. |
List of values: 'and', 'or' |
Min (input_control)
|
string(-array) -> string / integer / real
|
Lower limits of the features or 'min'. |
Default value: 'min' |
Max (input_control)
|
string(-array) -> string / integer / real
|
Upper limits of the features or 'max'. |
Default value: 'max' |
RowBeginOut (output_control)
|
line.begin.y-array -> integer
|
Row coordinates of the starting points of the
lines fulfilling the conditions. |
ColBeginOut (output_control)
|
line.begin.x-array -> integer
|
Column coordinates of the starting points of the
lines fulfilling the conditions. |
RowEndOut (output_control)
|
line.end.y-array -> integer
|
Row coordinates of the ending points of the
lines fulfilling the conditions. |
ColEndOut (output_control)
|
line.begin.x-array -> integer
|
Column coordinates of the ending points of the
lines fulfilling the conditions. |
FailRowBOut (output_control)
|
line.begin.y-array -> integer
|
Row coordinates of the starting points of the
lines not fulfilling the conditions. |
FailColBOut (output_control)
|
line.begin.x-array -> integer
|
Column coordinates of the starting points of the
lines not fulfilling the conditions. |
FailRowEOut (output_control)
|
line.end.y-array -> integer
|
Row coordinates of the ending points of the
lines not fulfilling the conditions. |
FailColEOut (output_control)
|
line.end.x-array -> integer
|
Column coordinates of the ending points of the
lines not fulfilling the conditions. |
Result
The operator select_lines2 returns the value TRUE if the
parameter values are correct. Otherwise an exception is raised.
Possible Predecessors
sobel_amp,
edges__,
threshold__,
hysteresis_threshold__,
split_skeleton1,
split_skeleton2
Possible Successors
set_line_width,
disp_line
Alternatives
line_orientation,
line_position,
select_lines1,
select_longest_lines
See also
select_lines1,
select_longest_lines,
detect_edges1,
select_shape
Copyright © 1996-1997 MVTec Software GmbH