critical_points_sub_pixT_critical_points_sub_pixCriticalPointsSubPixCriticalPointsSubPixcritical_points_sub_pix (Operator)
Name
critical_points_sub_pixT_critical_points_sub_pixCriticalPointsSubPixCriticalPointsSubPixcritical_points_sub_pix — Subpixelgenaue Detektion von kritischen Punkten in einem Bild.
Signatur
void CriticalPointsSubPix(const HObject& Image, const HTuple& Filter, const HTuple& Sigma, const HTuple& Threshold, HTuple* RowMin, HTuple* ColumnMin, HTuple* RowMax, HTuple* ColumnMax, HTuple* RowSaddle, HTuple* ColumnSaddle)
void HImage::CriticalPointsSubPix(const HString& Filter, double Sigma, double Threshold, HTuple* RowMin, HTuple* ColumnMin, HTuple* RowMax, HTuple* ColumnMax, HTuple* RowSaddle, HTuple* ColumnSaddle) const
void HImage::CriticalPointsSubPix(const char* Filter, double Sigma, double Threshold, HTuple* RowMin, HTuple* ColumnMin, HTuple* RowMax, HTuple* ColumnMax, HTuple* RowSaddle, HTuple* ColumnSaddle) const
void HImage::CriticalPointsSubPix(const wchar_t* Filter, double Sigma, double Threshold, HTuple* RowMin, HTuple* ColumnMin, HTuple* RowMax, HTuple* ColumnMax, HTuple* RowSaddle, HTuple* ColumnSaddle) const
(Nur Windows)
static void HOperatorSet.CriticalPointsSubPix(HObject image, HTuple filter, HTuple sigma, HTuple threshold, out HTuple rowMin, out HTuple columnMin, out HTuple rowMax, out HTuple columnMax, out HTuple rowSaddle, out HTuple columnSaddle)
void HImage.CriticalPointsSubPix(string filter, double sigma, double threshold, out HTuple rowMin, out HTuple columnMin, out HTuple rowMax, out HTuple columnMax, out HTuple rowSaddle, out HTuple columnSaddle)
def critical_points_sub_pix(image: HObject, filter: str, sigma: float, threshold: float) -> Tuple[Sequence[float], Sequence[float], Sequence[float], Sequence[float], Sequence[float], Sequence[float]]
Beschreibung
critical_points_sub_pixcritical_points_sub_pixCriticalPointsSubPixCriticalPointsSubPixCriticalPointsSubPixcritical_points_sub_pix extrahiert subpixelgenau kritische Punkte,
also lokale Maxima, lokale Minima und Sattelpunkte, aus dem Bild
ImageImageImageImageimageimage.
Zur Detektion der kritischen Punkte wird das Eingangsbild in jedem Punkt
durch ein quadratisches Polynom in x und y approximiert und dieses auf
Extremstellen und Sattelpunkte hin untersucht. Um das Polynom aufzustellen,
werden die partiellen Ableitungen abhängig von FilterFilterFilterFilterfilterfilter entweder
mit verschiedenen Ableitungen der Gaußfunktion oder nach dem Facet-Modell
berechnet. Im ersten Fall bestimmt SigmaSigmaSigmaSigmasigmasigma die Größe der
verwendeten Gaußkerne, im zweiten Fall erfolgt vor der Berechnung der
partiellen Ableitungen eine Glättung des Eingabebildes mit einem Gaußfilter
der Größe SigmaSigmaSigmaSigmasigmasigma. Der Modus 'facet'"facet""facet""facet""facet""facet" ist
damit etwas schneller, liefert aber auch etwas ungenauere Resultate. Sind
beide Eigenwerte der Hessematrix im untersuchten Punkt ihrem Betrage nach
größer als ThresholdThresholdThresholdThresholdthresholdthreshold, dann liegt ein Extrem- oder Sattelpunkt
vor. Die Eigenwerte entsprechen der Krümmung der Grauwertoberfläche. Sind
beide Eigenwerte negativ, so liegt ein lokales Maximum vor, sind beide
positiv, ein lokales Minimum; bei unterschiedlichen Vorzeichen liegt ein
Sattelpunkt vor.
Achtung
Beachten Sie, dass Filteroperatoren eventuell unerwartete Resultate
ausgeben, wenn ein Bild mit einer reduzierten Domäne als Input übergeben
wird. Weitere Informationen können im Kapitel Filter gefunden
werden.
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Automatisch parallelisiert auf interner Datenebene.
Parameter
ImageImageImageImageimageimage (input_object) singlechannelimage → objectHImageHObjectHImageHobject (byte / int1 / int2 / uint2 / int4 / real)
Eingabebild.
FilterFilterFilterFilterfilterfilter (input_control) string → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Verfahren zur Berechnung der partiellen Ableitungen.
Defaultwert:
'facet'
"facet"
"facet"
"facet"
"facet"
"facet"
Werteliste: 'facet'"facet""facet""facet""facet""facet", 'gauss'"gauss""gauss""gauss""gauss""gauss"
ThresholdThresholdThresholdThresholdthresholdthreshold (input_control) real → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Mindestbetrag der Eigenwerte der Hessematrix.
Defaultwert: 5.0
Wertevorschläge: 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0
Restriktion: Threshold >= 0.0
RowMinRowMinRowMinRowMinrowMinrow_min (output_control) point.y-array → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Zeilenkoordinaten der gefundenen Minima.
ColumnMinColumnMinColumnMinColumnMincolumnMincolumn_min (output_control) point.x-array → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Spaltenkoordinaten der gefundenen Minima.
RowMaxRowMaxRowMaxRowMaxrowMaxrow_max (output_control) point.y-array → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Zeilenkoordinaten der gefundenen Maxima.
ColumnMaxColumnMaxColumnMaxColumnMaxcolumnMaxcolumn_max (output_control) point.x-array → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Spaltenkoordinaten der gefundenen Maxima.
RowSaddleRowSaddleRowSaddleRowSaddlerowSaddlerow_saddle (output_control) point.y-array → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Zeilenkoordinaten der gefundenen Sattelpunkte.
ColumnSaddleColumnSaddleColumnSaddleColumnSaddlecolumnSaddlecolumn_saddle (output_control) point.x-array → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Spaltenkoordinaten der gefundenen Sattelpunkte.
Ergebnis
Sind die Parameterwerte korrekt und tritt kein Fehler während der
Berechnung auf, liefert critical_points_sub_pixcritical_points_sub_pixCriticalPointsSubPixCriticalPointsSubPixCriticalPointsSubPixcritical_points_sub_pix den Wert
TRUE. Das Verhalten bei leerer Eingabe (keine Eingabebilder
vorhanden) lässt sich mittels
set_system('no_object_result',<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>) festlegen.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
Nachfolger
gen_cross_contour_xldgen_cross_contour_xldGenCrossContourXldGenCrossContourXldGenCrossContourXldgen_cross_contour_xld,
disp_crossdisp_crossDispCrossDispCrossDispCrossdisp_cross
Alternativen
local_min_sub_pixlocal_min_sub_pixLocalMinSubPixLocalMinSubPixLocalMinSubPixlocal_min_sub_pix,
local_max_sub_pixlocal_max_sub_pixLocalMaxSubPixLocalMaxSubPixLocalMaxSubPixlocal_max_sub_pix,
saddle_points_sub_pixsaddle_points_sub_pixSaddlePointsSubPixSaddlePointsSubPixSaddlePointsSubPixsaddle_points_sub_pix
Siehe auch
local_minlocal_minLocalMinLocalMinLocalMinlocal_min,
local_maxlocal_maxLocalMaxLocalMaxLocalMaxlocal_max,
plateausplateausPlateausPlateausPlateausplateaus,
plateaus_centerplateaus_centerPlateausCenterPlateausCenterPlateausCenterplateaus_center,
lowlandslowlandsLowlandsLowlandsLowlandslowlands,
lowlands_centerlowlands_centerLowlandsCenterLowlandsCenterLowlandsCenterlowlands_center
Modul
Foundation