line_positionline_positionLinePositionLinePosition (Operator)
Name
line_positionline_positionLinePositionLinePosition
— Berechnung des Schwerpunktes, der Länge und der Orientierung
von Linien.
Signatur
Herror line_position(double RowBegin, double ColBegin, double RowEnd, double ColEnd, double* RowCenter, double* ColCenter, double* Length, double* Phi)
Herror T_line_position(const Htuple RowBegin, const Htuple ColBegin, const Htuple RowEnd, const Htuple ColEnd, Htuple* RowCenter, Htuple* ColCenter, Htuple* Length, Htuple* Phi)
void LinePosition(const HTuple& RowBegin, const HTuple& ColBegin, const HTuple& RowEnd, const HTuple& ColEnd, HTuple* RowCenter, HTuple* ColCenter, HTuple* Length, HTuple* Phi)
static void HMisc::LinePosition(const HTuple& RowBegin, const HTuple& ColBegin, const HTuple& RowEnd, const HTuple& ColEnd, HTuple* RowCenter, HTuple* ColCenter, HTuple* Length, HTuple* Phi)
static void HMisc::LinePosition(double RowBegin, double ColBegin, double RowEnd, double ColEnd, double* RowCenter, double* ColCenter, double* Length, double* Phi)
static void HOperatorSet.LinePosition(HTuple rowBegin, HTuple colBegin, HTuple rowEnd, HTuple colEnd, out HTuple rowCenter, out HTuple colCenter, out HTuple length, out HTuple phi)
static void HMisc.LinePosition(HTuple rowBegin, HTuple colBegin, HTuple rowEnd, HTuple colEnd, out HTuple rowCenter, out HTuple colCenter, out HTuple length, out HTuple phi)
static void HMisc.LinePosition(double rowBegin, double colBegin, double rowEnd, double colEnd, out double rowCenter, out double colCenter, out double length, out double phi)
Beschreibung
line_positionline_positionLinePositionLinePositionLinePosition
liefert den Schwerpunkt
(RowCenterRowCenterRowCenterRowCenterrowCenter
, ColCenterColCenterColCenterColCentercolCenter
), die (euklidische)
Länge (LengthLengthLengthLengthlength
) und die Orientierung
(-pi/2 < PhiPhiPhiPhiphi
<= pi/2) der übergebenen Linien. Falls
mehr als eine Linie behandelt werden soll, können die Zeilen- und
Spaltenindizes als Tupel übergeben werden. In diesem Fall sind die
Ausgabeparameter natürlich ebenfalls Tupel.
Die Routine wird beispielsweise auf Modellinien angewandt, um
Suchbereiche für die Kantendetektion (detect_edge_segmentsdetect_edge_segmentsDetectEdgeSegmentsDetectEdgeSegmentsDetectEdgeSegments
)
zu bestimmen.
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Parameter
RowBeginRowBeginRowBeginRowBeginrowBegin
(input_control) line.begin.y(-array) →
HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Zeilenkoordinaten der Anfangspunkte der Eingabelinien.
ColBeginColBeginColBeginColBegincolBegin
(input_control) line.begin.x(-array) →
HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Spaltenkoordinaten der Anfangspunkte der Eingabelinien.
RowEndRowEndRowEndRowEndrowEnd
(input_control) line.end.y(-array) →
HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Zeilenkoordinaten der Endpunkte der Eingabelinien.
ColEndColEndColEndColEndcolEnd
(input_control) line.end.x(-array) →
HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Spaltenkoordinaten der Endpunkte der Eingabelinien.
RowCenterRowCenterRowCenterRowCenterrowCenter
(output_control) point.y(-array) →
HTupleHTupleHtuple (real) (double) (double) (double)
Zeilenkoordinaten der Schwerpunkte der Eingabelinien.
ColCenterColCenterColCenterColCentercolCenter
(output_control) point.x(-array) →
HTupleHTupleHtuple (real) (double) (double) (double)
Spaltenindizes der Schwerpunkte der Eingabelinien.
LengthLengthLengthLengthlength
(output_control) real(-array) →
HTupleHTupleHtuple (real) (double) (double) (double)
Euklidische Länge der Eingabelinien.
PhiPhiPhiPhiphi
(output_control) angle.rad(-array) →
HTupleHTupleHtuple (real) (double) (double) (double)
Orientierung der Eingabelinien.
Ergebnis
line_positionline_positionLinePositionLinePositionLinePosition
liefert immer den Wert 2 (H_MSG_TRUE).
Vorgänger
sobel_ampsobel_ampSobelAmpSobelAmpSobelAmp
,
edges_imageedges_imageEdgesImageEdgesImageEdgesImage
,
thresholdthresholdThresholdThresholdThreshold
,
hysteresis_thresholdhysteresis_thresholdHysteresisThresholdHysteresisThresholdHysteresisThreshold
,
split_skeleton_regionsplit_skeleton_regionSplitSkeletonRegionSplitSkeletonRegionSplitSkeletonRegion
,
split_skeleton_linessplit_skeleton_linesSplitSkeletonLinesSplitSkeletonLinesSplitSkeletonLines
Nachfolger
set_line_widthset_line_widthSetLineWidthSetLineWidthSetLineWidth
,
disp_linedisp_lineDispLineDispLineDispLine
Alternativen
line_orientationline_orientationLineOrientationLineOrientationLineOrientation
Siehe auch
line_orientationline_orientationLineOrientationLineOrientationLineOrientation
,
detect_edge_segmentsdetect_edge_segmentsDetectEdgeSegmentsDetectEdgeSegmentsDetectEdgeSegments
Modul
Foundation