measure_posmeasure_posMeasurePosmeasure_posMeasurePosMeasurePos dient zur Extraktion von geradlinigen Kanten,
die senkrecht zur Hauptachse eines Rechtecks oder zu einem Kreisring
liegen.
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 Schwellwert 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 Kreisrings 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_posMeasurePosmeasure_posMeasurePosMeasurePos liefert nur dann brauchbare Ergebnisse, falls
die Annahme, dass die Kanten gerade und senkrecht zur Hauptachse des
Rechtecks oder dem Kreisring sind, erfüllt ist.
measure_posmeasure_posMeasurePosmeasure_posMeasurePosMeasurePos sollte daher z.B. nicht dazu verwendet werden,
Kanten von gekrümmten Objekten zu extrahieren. Weiterhin sollte
der Benutzer darauf achten, dass das Rechteck/der Kreisring
möglichst senkrecht zu den Bildkanten liegt. Außerdem darf
SigmaSigmaSigmaSigmaSigmasigma nicht größer als ca. 0.5 * Length1
(siehe gen_measure_rectangle2gen_measure_rectangle2GenMeasureRectangle2gen_measure_rectangle2GenMeasureRectangle2GenMeasureRectangle2 für Length1) sein.
Es ist zu beachten, dass measure_posmeasure_posMeasurePosmeasure_posMeasurePosMeasurePos 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.
Sind die Parameterwerte korrekt, dann liefert measure_posmeasure_posMeasurePosmeasure_posMeasurePosMeasurePos
den Wert 2 (H_MSG_TRUE). Andernfalls wird eine Fehlerbehandlung durchgeführt.