Name
select_matching_linesselect_matching_linesSelectMatchingLinesSelectMatchingLines — Select those lines from a set of lines (in HNF) which
fit best into a region.
Herror select_matching_lines(const Hobject RegionIn, Hobject* RegionLines, double AngleIn, double DistIn, const Hlong LineWidth, const Hlong Thresh, double* AngleOut, double* DistOut)
Herror T_select_matching_lines(const Hobject RegionIn, Hobject* RegionLines, const Htuple AngleIn, const Htuple DistIn, const Htuple LineWidth, const Htuple Thresh, Htuple* AngleOut, Htuple* DistOut)
void SelectMatchingLines(const HObject& RegionIn, HObject* RegionLines, const HTuple& AngleIn, const HTuple& DistIn, const HTuple& LineWidth, const HTuple& Thresh, HTuple* AngleOut, HTuple* DistOut)
HRegion HRegion::SelectMatchingLines(const HTuple& AngleIn, const HTuple& DistIn, Hlong LineWidth, Hlong Thresh, HTuple* AngleOut, HTuple* DistOut) const
HRegion HRegion::SelectMatchingLines(double AngleIn, double DistIn, Hlong LineWidth, Hlong Thresh, double* AngleOut, double* DistOut) const
static void HOperatorSet.SelectMatchingLines(HObject regionIn, out HObject regionLines, HTuple angleIn, HTuple distIn, HTuple lineWidth, HTuple thresh, out HTuple angleOut, out HTuple distOut)
HRegion HRegion.SelectMatchingLines(HTuple angleIn, HTuple distIn, int lineWidth, int thresh, out HTuple angleOut, out HTuple distOut)
HRegion HRegion.SelectMatchingLines(double angleIn, double distIn, int lineWidth, int thresh, out double angleOut, out double distOut)
Lines which fit best into a region can be selected from a set of lines which
are available in HNF with the help of the operator
select_matching_linesselect_matching_linesSelectMatchingLinesSelectMatchingLinesSelectMatchingLines; the region itself is also transmitted
as a parameter (RegionInRegionInRegionInRegionInregionIn). The width of the lines can be
indicated by the parameter LineWidthLineWidthLineWidthLineWidthlineWidth. The selected lines will
be returned in HNF and as regions (RegionLinesRegionLinesRegionLinesRegionLinesregionLines).
The lines are selected iteratively in a loop: At first, the line showing
the greatest overlap with the input region is selected from the set of
input lines. This line will then be taken over into the output set whereby
all points belonging to that line will not be considered in the further
steps determining overlaps. The loop will be left when the maximum overlap
value of the region and the lines falls below a certain threshold value
(ThreshThreshThreshThreshthresh). The selected lines will be returned
as regions as well as in HNF.
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
Region in which the lines are to be matched.
Region array containing the matched lines.
Angles (in radians) of the normal vectors of the
input lines.
Typical range of values: -1.5707963
≤
AngleIn
AngleIn
AngleIn
AngleIn
angleIn
≤
3.1415927
Distances of the input lines form the origin.
Number of elements: DistIn == AngleIn
Widths of the lines.
Default value: 7
Typical range of values: 1
≤
LineWidth
LineWidth
LineWidth
LineWidth
lineWidth
Threshold value for the number of line points in
the region.
Default value: 100
Typical range of values: 1
≤
Thresh
Thresh
Thresh
Thresh
thresh
Angles (in radians) of the normal vectors of the
selected
lines.
Number of elements: AngleOut <= AngleIn
Typical range of values: -1.5707963
≤
AngleOut
AngleOut
AngleOut
AngleOut
angleOut
≤
3.1415927
Distances of the selected lines from the origin.
Number of elements: DistOut == AngleOut
Typical range of values: 0
≤
DistOut
DistOut
DistOut
DistOut
distOut
The operator select_matching_linesselect_matching_linesSelectMatchingLinesSelectMatchingLinesSelectMatchingLines returns the value 2 (H_MSG_TRUE)
if the input is not empty.
The behavior in case of empty input (no input regions available) is
set via the operator set_system('no_object_result',<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>),
the behavior in case of empty region is set via
set_system('empty_region_result',<Result>)set_system("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>).
If necessary an exception is raised.
hough_lineshough_linesHoughLinesHoughLinesHoughLines
Foundation