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

critical_points_sub_pix(Image : : Filter, Sigma, Threshold : RowMin, ColumnMin, RowMax, ColumnMax, RowSaddle, ColumnSaddle)

Herror T_critical_points_sub_pix(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 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

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"

SigmaSigmaSigmaSigmasigmasigma (input_control)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

Sigma der Gaußfunktion. Ist FilterFilterFilterFilterfilterfilter auf 'facet' gesetzt, kann SigmaSigmaSigmaSigmasigmasigma auf 0.0 gesetzt werden, um eine Glättung des Eingangsbildes zu vermeiden.

Wertevorschläge: 0.7, 0.8, 0.9, 1.0, 1.2, 1.5, 2.0, 3.0

Restriktion: Sigma >= 0.0

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 2 (H_MSG_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