measure_thresh
— Extraktion von Punkten mit einem bestimmten Grauwert entlang eines
Rechtecks oder einem Kreisringsegment.
measure_thresh(Image : : MeasureHandle, Sigma, Threshold, Select : RowThresh, ColumnThresh, Distance)
measure_thresh
bestimmt in einem eindimensionalen Grauwertprofil
die Punkte mit dem Grauwert Threshold
. Da das Grauwertprofil
auf die Hauptachse (respektive den Bogen) des mit MeasureHandle
übergebenen
Messobjekts projiziert wird, entsprechen die im
Grauwertprofil ermittelten Punkte bestimmten Bildkoordinaten; diese
werden mit RowThresh
und ColumnThresh
zurückgeliefert.
Das Konzept der 1D-Vermessung ist bei der Einleitung zu Kapitel 1D-Vermessung beschrieben.
Durchstößt das Grauwertprofil an mehreren Stellen den übergebenen
Schwellwert, kann mit dem Parameter Select
ausgewählt werden,
ob nur der erste ('first' ), nur der letzte ('last' ), der
erste und der letzte ('first_last' ) oder alle ('all' )
Punkte zurückgeliefert werden sollen. In den letzten beiden Fällen
enthält Distance
die Abstände zwischen benachbarten Punkten.
Das zugrundegelegte Grauwertprofil wird durch Mittelung der Grauwerte entlang all der Liniensegmente gebildet, die wie folgt durch das Measure-Rechteck definiert werden:
Die Liniensegmente stehen senkrecht zur Hauptachse des Rechtecks,
sie haben einen ganzzahligen Abstand zum Rechteckmittelpunkt,
sie werden durch das Rechteck begrenzt.
Für jedes Liniensegment werden die Grauwerte aller Punkte, die
einen ganzzahligen Abstand zur Hauptachse des Rechtecks besitzen,
gemittelt. Durch Verschiebung und Drehung des Measure-Rechtecks
gegenüber den Bildkoordinaten wird das Eingabebild Image
im Allgemeinen an Subpixel-Positionen abgetastet.
Da für die Bildabtastung einige Berechnungen erforderlich sind, die in
verschiedenen Operatoren Verwendung finden können und darüber hinaus mit
einem gewissen Rechenaufwand verbunden sind, erfolgen sie losgelöst von
den übrigen Berechnungen mit Hilfe des Operators
gen_measure_rectangle2
b.z.w. gen_measure_arc
.
Dort kann auch eine Interpolationsmethode,
die für die Subpixel-Abtastung verwendet werden soll, angegeben werden.
measure_thresh
liefert nur dann brauchbare Ergebnisse, falls
die Annahme, dass die Kanten gerade und senkrecht zur Hauptachse des
Rechtecks sind, erfüllt ist. measure_thresh
sollte daher
z.B. nicht dazu verwendet werden, Kanten von gekrümmten Objekten zu
extrahieren. Weiterhin sollte der Benutzer darauf achten, dass das
Rechteck möglichst senkrecht zu den Bildkanten liegt. Außerdem darf
Sigma
nicht größer als ca. 0.5 * Length1
(siehe gen_measure_rectangle2
für Length1) sein.
Es ist zu beachten, dass measure_thresh
den
Definitionsbereich von Image
aus Geschwindigkeitsgründen
ignoriert. Falls bestimmte Bildbereiche von der Messung
ausgeschlossen werden sollen, sollte ein neues Messobjekt mit
entsprechend angepassten Parametern erzeugt werden.
Image
(input_object) singlechannelimage →
object (byte / uint2 / real)
Eingabebild.
MeasureHandle
(input_control) measure →
(handle)
Handle des Messobjekts.
Sigma
(input_control) number →
(real)
Sigma der Gaußglättung.
Defaultwert: 1.0
Wertevorschläge: 0.0, 0.4, 0.6, 0.8, 1.0, 1.5, 2.0, 3.0, 4.0, 5.0, 7.0, 10.0
Typischer Wertebereich: 0.4
≤
Sigma
≤
100
(lin)
Minimale Schrittweite: 0.01
Empfohlene Schrittweite: 0.1
Restriktion: Sigma >= 0.0
Threshold
(input_control) number →
(real)
Schwellwert.
Defaultwert: 128.0
Typischer Wertebereich: 0
≤
Threshold
≤
255
(lin)
Minimale Schrittweite: 0.5
Empfohlene Schrittweite: 1
Select
(input_control) string →
(string)
Auswahl der Ergebnispunkte.
Defaultwert: 'all'
Werteliste: 'all' , 'first' , 'first_last' , 'last'
RowThresh
(output_control) point.y-array →
(real)
Zeilenkoordinaten der Punkte mit Schwellwert.
ColumnThresh
(output_control) point.x-array →
(real)
Spaltenkoordinaten der Punkte mit Schwellwert.
Distance
(output_control) real-array →
(real)
Abstand zwischen aufeinanderfolgenden Punkten.
Sind die Parameterwerte korrekt, dann liefert measure_thresh
den Wert 2 (H_MSG_TRUE). Andernfalls wird eine Fehlerbehandlung durchgeführt.
measure_pos
,
edges_sub_pix
,
measure_pairs
1D Metrology