measure_threshT_measure_threshMeasureThreshMeasureThreshmeasure_thresh (Operator)
Name
measure_threshT_measure_threshMeasureThreshMeasureThreshmeasure_thresh — Extraktion von Punkten mit einem bestimmten Grauwert entlang eines
Rechtecks oder einem Kreisringsegment.
Signatur
void MeasureThresh(const HObject& Image, const HTuple& MeasureHandle, const HTuple& Sigma, const HTuple& Threshold, const HTuple& Select, HTuple* RowThresh, HTuple* ColumnThresh, HTuple* Distance)
void HMeasure::MeasureThresh(const HImage& Image, double Sigma, double Threshold, const HString& Select, HTuple* RowThresh, HTuple* ColumnThresh, HTuple* Distance) const
void HMeasure::MeasureThresh(const HImage& Image, double Sigma, double Threshold, const char* Select, HTuple* RowThresh, HTuple* ColumnThresh, HTuple* Distance) const
void HMeasure::MeasureThresh(const HImage& Image, double Sigma, double Threshold, const wchar_t* Select, HTuple* RowThresh, HTuple* ColumnThresh, HTuple* Distance) const
(Nur Windows)
void HImage::MeasureThresh(const HMeasure& MeasureHandle, double Sigma, double Threshold, const HString& Select, HTuple* RowThresh, HTuple* ColumnThresh, HTuple* Distance) const
void HImage::MeasureThresh(const HMeasure& MeasureHandle, double Sigma, double Threshold, const char* Select, HTuple* RowThresh, HTuple* ColumnThresh, HTuple* Distance) const
void HImage::MeasureThresh(const HMeasure& MeasureHandle, double Sigma, double Threshold, const wchar_t* Select, HTuple* RowThresh, HTuple* ColumnThresh, HTuple* Distance) const
(Nur Windows)
static void HOperatorSet.MeasureThresh(HObject image, HTuple measureHandle, HTuple sigma, HTuple threshold, HTuple select, out HTuple rowThresh, out HTuple columnThresh, out HTuple distance)
void HMeasure.MeasureThresh(HImage image, double sigma, double threshold, string select, out HTuple rowThresh, out HTuple columnThresh, out HTuple distance)
void HImage.MeasureThresh(HMeasure measureHandle, double sigma, double threshold, string select, out HTuple rowThresh, out HTuple columnThresh, out HTuple distance)
Beschreibung
measure_threshmeasure_threshMeasureThreshMeasureThreshMeasureThreshmeasure_thresh bestimmt in einem eindimensionalen Grauwertprofil
die Punkte mit dem Grauwert ThresholdThresholdThresholdThresholdthresholdthreshold. Da das Grauwertprofil
auf die Hauptachse (respektive den Bogen) des mit MeasureHandleMeasureHandleMeasureHandleMeasureHandlemeasureHandlemeasure_handle
übergebenen
Messobjekts projiziert wird, entsprechen die im
Grauwertprofil ermittelten Punkte bestimmten Bildkoordinaten; diese
werden mit RowThreshRowThreshRowThreshRowThreshrowThreshrow_thresh und ColumnThreshColumnThreshColumnThreshColumnThreshcolumnThreshcolumn_thresh 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
Schwellenwert, kann mit dem Parameter SelectSelectSelectSelectselectselect ausgewählt werden,
ob nur der erste ('first'"first""first""first""first""first"), nur der letzte ('last'"last""last""last""last""last"), der
erste und der letzte ('first_last'"first_last""first_last""first_last""first_last""first_last") oder alle ('all'"all""all""all""all""all")
Punkte zurückgeliefert werden sollen. In den letzten beiden Fällen
enthält DistanceDistanceDistanceDistancedistancedistance 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 ImageImageImageImageimageimage
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_rectangle2gen_measure_rectangle2GenMeasureRectangle2GenMeasureRectangle2GenMeasureRectangle2gen_measure_rectangle2 b.z.w. gen_measure_arcgen_measure_arcGenMeasureArcGenMeasureArcGenMeasureArcgen_measure_arc.
Dort kann auch eine Interpolationsmethode,
die für die Subpixel-Abtastung verwendet werden soll, angegeben werden.
Achtung
measure_threshmeasure_threshMeasureThreshMeasureThreshMeasureThreshmeasure_thresh liefert nur dann brauchbare Ergebnisse, falls
die Annahme, dass die Kanten gerade und senkrecht zur Hauptachse des
Rechtecks sind, erfüllt ist. measure_threshmeasure_threshMeasureThreshMeasureThreshMeasureThreshmeasure_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
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_threshmeasure_threshMeasureThreshMeasureThreshMeasureThreshmeasure_thresh 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).
- Wird ohne Parallelisierung verarbeitet.
Parameter
ImageImageImageImageimageimage (input_object) singlechannelimage → objectHImageHObjectHImageHobject (byte / uint2 / real)
Eingabebild.
MeasureHandleMeasureHandleMeasureHandleMeasureHandlemeasureHandlemeasure_handle (input_control) measure → HMeasure, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle des Messobjekts.
SigmaSigmaSigmaSigmasigmasigma (input_control) number → HTuplefloatHTupleHtuple (real) (double) (double) (double)
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
Sigma
Sigma
Sigma
sigma
sigma
≤
100 (lin)
Minimale Schrittweite: 0.01
Empfohlene Schrittweite: 0.1
Restriktion: Sigma >= 0.0
ThresholdThresholdThresholdThresholdthresholdthreshold (input_control) number → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Schwellenwert.
Defaultwert: 128.0
Typischer Wertebereich: 0
≤
Threshold
Threshold
Threshold
Threshold
threshold
threshold
≤
255 (lin)
Minimale Schrittweite: 0.5
Empfohlene Schrittweite: 1
SelectSelectSelectSelectselectselect (input_control) string → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Auswahl der Ergebnispunkte.
Defaultwert:
'all'
"all"
"all"
"all"
"all"
"all"
Werteliste: 'all'"all""all""all""all""all", 'first'"first""first""first""first""first", 'first_last'"first_last""first_last""first_last""first_last""first_last", 'last'"last""last""last""last""last"
RowThreshRowThreshRowThreshRowThreshrowThreshrow_thresh (output_control) point.y-array → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Zeilenkoordinaten der Punkte mit Schwellenwert.
ColumnThreshColumnThreshColumnThreshColumnThreshcolumnThreshcolumn_thresh (output_control) point.x-array → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Spaltenkoordinaten der Punkte mit Schwellenwert.
DistanceDistanceDistanceDistancedistancedistance (output_control) real-array → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Abstand zwischen aufeinanderfolgenden Punkten.
Ergebnis
Sind die Parameterwerte korrekt, dann liefert measure_threshmeasure_threshMeasureThreshMeasureThreshMeasureThreshmeasure_thresh
den Wert TRUE. Andernfalls wird eine Fehlerbehandlung durchgeführt.
Vorgänger
gen_measure_rectangle2gen_measure_rectangle2GenMeasureRectangle2GenMeasureRectangle2GenMeasureRectangle2gen_measure_rectangle2
Nachfolger
close_measureclose_measureCloseMeasureCloseMeasureCloseMeasureclose_measure
Alternativen
measure_posmeasure_posMeasurePosMeasurePosMeasurePosmeasure_pos,
edges_sub_pixedges_sub_pixEdgesSubPixEdgesSubPixEdgesSubPixedges_sub_pix,
measure_pairsmeasure_pairsMeasurePairsMeasurePairsMeasurePairsmeasure_pairs
Modul
1D Metrology