Name
measure_threshT_measure_threshMeasureThreshmeasure_threshMeasureThreshMeasureThresh — Extraktion von Punkten mit einem bestimmten Grauwert entlang eines
Rechtecks oder einem Kreisring.
Herror measure_thresh(Hobject Image, const HTuple& MeasureHandle, const HTuple& Sigma, const HTuple& Threshold, const HTuple& Select, HTuple* RowThresh, HTuple* ColumnThresh, HTuple* Distance)
HTuple HImage::MeasureThresh(const HMeasure& MeasureHandle, const HTuple& Sigma, const HTuple& Threshold, const HTuple& Select, HTuple* ColumnThresh, HTuple* Distance) const
HTuple HMeasure::MeasureThresh(const HImage& Image, const HTuple& Sigma, const HTuple& Threshold, const HTuple& Select, HTuple* ColumnThresh, HTuple* Distance) const
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 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 HOperatorSetX.MeasureThresh(
[in] IHUntypedObjectX* Image, [in] VARIANT MeasureHandle, [in] VARIANT Sigma, [in] VARIANT Threshold, [in] VARIANT Select, [out] VARIANT* RowThresh, [out] VARIANT* ColumnThresh, [out] VARIANT* Distance)
VARIANT HMeasureX.MeasureThresh(
[in] IHImageX* Image, [in] double Sigma, [in] double Threshold, [in] BSTR Select, [out] VARIANT* ColumnThresh, [out] VARIANT* Distance)
VARIANT HImageX.MeasureThresh(
[in] IHMeasureX* MeasureHandle, [in] double Sigma, [in] double Threshold, [in] BSTR Select, [out] VARIANT* ColumnThresh, [out] VARIANT* Distance)
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)
measure_threshmeasure_threshMeasureThreshmeasure_threshMeasureThreshMeasureThresh bestimmt in einem eindimensionalen Grauwertprofil
die Punkte mit dem Grauwert ThresholdThresholdThresholdThresholdThresholdthreshold. Da das Grauwertprofil
auf die Hauptachse (respektive den Bogen) des mit MeasureHandleMeasureHandleMeasureHandleMeasureHandleMeasureHandlemeasureHandle
übergebenen
Messobjekts projiziert wird, entsprechen die im
Grauwertprofil ermittelten Punkte bestimmten Bildkoordinaten; diese
werden mit RowThreshRowThreshRowThreshRowThreshRowThreshrowThresh und ColumnThreshColumnThreshColumnThreshColumnThreshColumnThreshcolumnThresh zurückgeliefert.
Durchstößt das Grauwertprofil an mehreren Stellen den übergebenen
Schwellwert, 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_rectangle2GenMeasureRectangle2gen_measure_rectangle2GenMeasureRectangle2GenMeasureRectangle2 b.z.w. gen_measure_arcgen_measure_arcGenMeasureArcgen_measure_arcGenMeasureArcGenMeasureArc.
Dort kann auch eine Interpolationsmethode,
die für die Subpixel-Abtastung verwendet werden soll, angegeben werden.
measure_threshmeasure_threshMeasureThreshmeasure_threshMeasureThreshMeasureThresh liefert nur dann brauchbare Ergebnisse, falls
die Annahme, dass die Kanten gerade und senkrecht zur Hauptachse des
Rechtecks sind, erfüllt ist. measure_threshmeasure_threshMeasureThreshmeasure_threshMeasureThreshMeasureThresh 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_rectangle2GenMeasureRectangle2gen_measure_rectangle2GenMeasureRectangle2GenMeasureRectangle2 für Length1) sein.
Es ist zu beachten, dass measure_threshmeasure_threshMeasureThreshmeasure_threshMeasureThreshMeasureThresh 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.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
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
Schwellwert.
Defaultwert: 128.0
Typischer Wertebereich: 0
≤
Threshold
Threshold
Threshold
Threshold
Threshold
threshold
≤
255 (lin)
Minimale Schrittweite: 0.5
Empfohlene Schrittweite: 1
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"
Zeilenkoordinaten der Punkte mit Schwellwert.
Spaltenkoordinaten der Punkte mit Schwellwert.
Abstand zwischen aufeinanderfolgenden Punkten.
Sind die Parameterwerte korrekt, dann liefert measure_threshmeasure_threshMeasureThreshmeasure_threshMeasureThreshMeasureThresh
den Wert 2 (H_MSG_TRUE). Andernfalls wird eine Fehlerbehandlung durchgeführt.
gen_measure_rectangle2gen_measure_rectangle2GenMeasureRectangle2gen_measure_rectangle2GenMeasureRectangle2GenMeasureRectangle2
close_measureclose_measureCloseMeasureclose_measureCloseMeasureCloseMeasure
measure_posmeasure_posMeasurePosmeasure_posMeasurePosMeasurePos,
edges_sub_pixedges_sub_pixEdgesSubPixedges_sub_pixEdgesSubPixEdgesSubPix,
measure_pairsmeasure_pairsMeasurePairsmeasure_pairsMeasurePairsMeasurePairs
1D Metrology