measure_posmeasure_posMeasurePosMeasurePosMeasurePosmeasure_pos dient zur Extraktion von geradlinigen Kanten,
die senkrecht zur Hauptachse eines Rechtecks oder zu einem
Kreisringsegment liegen.
Das Konzept der 1D-Vermessung ist bei der Einleitung
zu Kapitel 1D-Vermessung beschrieben.
Nach der Bestimmung des eindimensionalen Kantenprofils werden die
subpixelgenauen Kantenpositionen durch Faltung des Profils mit den
Ableitungen einer Gauß-Maske mit Standardabweichung SigmaSigmaSigmaSigmasigmasigma
berechnet. Auffällige Kanten können mit dem Parameter
ThresholdThresholdThresholdThresholdthresholdthreshold, der einen Schwellenwert für die Kantenamplitude,
d.h. den Absolutbetrag der ersten Ableitung, angibt, selektiert
werden.
Es ist zu beachten, dass die Amplitudenwerte mit dem Faktor
skaliert werden. Außerdem ist es möglich, nur positive Kanten, also
solche, die einen Übergang von Dunkel nach Hell in der Richtung der
Hauptachse des Rechtecks oder des Kreisringsegments darstellen,
(TransitionTransitionTransitionTransitiontransitiontransition =
'positive'"positive""positive""positive""positive""positive"), nur negative Kanten, also
Hell-Dunkel-Übergänge, (TransitionTransitionTransitionTransitiontransitiontransition = 'negative'"negative""negative""negative""negative""negative")
oder alle Kanten zu selektieren (TransitionTransitionTransitionTransitiontransitiontransition =
'all'"all""all""all""all""all"). Schließlich kann gewählt werden, welche der
extrahierten Kanten zurückgeliefert werden sollen. Wenn
SelectSelectSelectSelectselectselect auf 'all'"all""all""all""all""all" gesetzt wird, werden alle
gefundenen Kanten zurückgegeben, falls SelectSelectSelectSelectselectselect auf
'first'"first""first""first""first""first" gesetzt wird, nur die erste Kante, und falls
SelectSelectSelectSelectselectselect auf 'last'"last""last""last""last""last" gesetzt wird, nur die letzte.
measure_posmeasure_posMeasurePosMeasurePosMeasurePosmeasure_pos liefert nur dann brauchbare Ergebnisse, falls
die Annahme, dass die Kanten gerade und senkrecht zur Hauptachse des
Rechtecks oder dem Kreisringsegments sind, erfüllt ist.
measure_posmeasure_posMeasurePosMeasurePosMeasurePosmeasure_pos sollte daher z.B. nicht dazu verwendet werden,
Kanten von gekrümmten Objekten zu extrahieren. Weiterhin sollte
der Benutzer darauf achten, dass das Rechteck / das Kreisringsegment
möglichst senkrecht zu den Bildkanten liegt. Außerdem darf
SigmaSigmaSigmaSigmasigmasigma nicht größer als ca. 0.5 * Length1
(siehe gen_measure_rectangle2gen_measure_rectangle2GenMeasureRectangle2GenMeasureRectangle2GenMeasureRectangle2gen_measure_rectangle2 für Length1) sein.
Es ist zu beachten, dass measure_posmeasure_posMeasurePosMeasurePosMeasurePosmeasure_pos den Definitionsbereich
von ImageImageImageImageimageimage aus Geschwindigkeitsgründen ignoriert. Falls
bestimmte Bildbereiche von der Messung ausgeschlossen werden sollen,
sollte ein neues Messobjekt mit entsprechend angepassten
Parametern erzeugt werden.
Ausführungsinformationen
Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
Sind die Parameterwerte korrekt, dann liefert measure_posmeasure_posMeasurePosMeasurePosMeasurePosmeasure_pos
den Wert TRUE. Andernfalls wird eine Fehlerbehandlung durchgeführt.