points_lepetitT_points_lepetitPointsLepetitPointsLepetitpoints_lepetit (Operator)

Name

points_lepetitT_points_lepetitPointsLepetitPointsLepetitpoints_lepetit — Suche nach signifikanten Punkten mittels des Lepetit-Operators.

Signatur

points_lepetit(Image : : Radius, CheckNeighbor, MinCheckNeighborDiff, MinScore, Subpix : Row, Column)

Herror T_points_lepetit(const Hobject Image, const Htuple Radius, const Htuple CheckNeighbor, const Htuple MinCheckNeighborDiff, const Htuple MinScore, const Htuple Subpix, Htuple* Row, Htuple* Column)

void PointsLepetit(const HObject& Image, const HTuple& Radius, const HTuple& CheckNeighbor, const HTuple& MinCheckNeighborDiff, const HTuple& MinScore, const HTuple& Subpix, HTuple* Row, HTuple* Column)

void HImage::PointsLepetit(Hlong Radius, Hlong CheckNeighbor, Hlong MinCheckNeighborDiff, Hlong MinScore, const HString& Subpix, HTuple* Row, HTuple* Column) const

void HImage::PointsLepetit(Hlong Radius, Hlong CheckNeighbor, Hlong MinCheckNeighborDiff, Hlong MinScore, const char* Subpix, HTuple* Row, HTuple* Column) const

void HImage::PointsLepetit(Hlong Radius, Hlong CheckNeighbor, Hlong MinCheckNeighborDiff, Hlong MinScore, const wchar_t* Subpix, HTuple* Row, HTuple* Column) const   ( Nur Windows)

static void HOperatorSet.PointsLepetit(HObject image, HTuple radius, HTuple checkNeighbor, HTuple minCheckNeighborDiff, HTuple minScore, HTuple subpix, out HTuple row, out HTuple column)

void HImage.PointsLepetit(int radius, int checkNeighbor, int minCheckNeighborDiff, int minScore, string subpix, out HTuple row, out HTuple column)

def points_lepetit(image: HObject, radius: int, check_neighbor: int, min_check_neighbor_diff: int, min_score: int, subpix: str) -> Tuple[Sequence[Union[int, float]], Sequence[Union[int, float]]]

Beschreibung

points_lepetitpoints_lepetitPointsLepetitPointsLepetitpoints_lepetit extrahiert signifikante Punkte wie z.B. Ecken aus dem Bild ImageImageImageimageimage. Dazu wird ImageImageImageimageimage zunächst mit einem 3x3 Medianfilter geglättet. Anschließend werden alle Grauwerte auf einem Kreis mit dem Radius RadiusRadiusRadiusradiusradius um einen Interestpunktkandidaten (m) betrachtet. Es werden die absoluten Differenzen zweier auf dem Kreis diagonal gegenüberliegenden Grauwerte (m1, m2) zu dem des zentralen Pixels m gebildet. Mindestens eine dieser Differenzen muss dabei größer als MinCheckNeighborDiffMinCheckNeighborDiffMinCheckNeighborDiffminCheckNeighborDiffmin_check_neighbor_diff sein. Alle sich gegenüber liegenden Kreispunkte müssen diese Bedingung erfüllen. Um die Detektion von Punkten entlang von leicht gekrümmten Kanten (Aliasing) zu verhindern, ist es möglich, zusätzliche Differenzen von CheckNeighborCheckNeighborCheckNeighborcheckNeighborcheck_neighbor Kreisnachbarpixeln von m1 und m2 zum Zentrum zu bilden, die ebenfalls obiges Kriterium erfüllen. Durch Bildung aller Grauwertdifferenzen der Kreispunkte zum Zentrum wird ein mittlerer Grauwertunterschied berechnet. Dieser Wert muss größer MinScoreMinScoreMinScoreminScoremin_score sein und ermöglicht eine Restriktion auf Punkte hohen Kontrasts. Mit Hilfe der Berechnung aller mittleren Grauwertunterschiede in der Achternachbarschaft des Interestpunktes ist es möglich eine quadratische Gleichung anzupassen. Durch Ermittlung des Maximums dieser Funktion kann die Position des Interestpunktes auf Subpixelgenauigkeit verfeinert werden. Durch das Setzen des Parameters SubpixSubpixSubpixsubpixsubpix auf 'interpolation' (Default) oder 'none' kann dieses Verhalten an- bzw. ausgeschaltet werden. Die so ermittelten Punkte werden in RowRowRowrowrow und ColumnColumnColumncolumncolumn übergeben. Der Operator points_lepetitpoints_lepetitPointsLepetitPointsLepetitpoints_lepetit kann für eine besonders schnelle Extraktion signifikanter Punkte verwendet werden. Jedoch sind die extrahierten Punkte weniger Robust, als solche, die z.B. mit Hilfe von points_harrispoints_harrisPointsHarrisPointsHarrispoints_harris gefunden werden.

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

ImageImageImageimageimage (input_object)  singlechannelimage objectHImageHObjectHObjectHobject (byte / uint2)

Eingabebild.

RadiusRadiusRadiusradiusradius (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Der Radius des Kreises.

Default: 3

Wertevorschläge: 3, 5, 6, 7, 8, 9, 10, 15

CheckNeighborCheckNeighborCheckNeighborcheckNeighborcheck_neighbor (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Die Anzahl von untersuchten Nachbarpixeln auf dem Kreis.

Default: 1

Wertevorschläge: 1, 2, 3, 5

MinCheckNeighborDiffMinCheckNeighborDiffMinCheckNeighborDiffminCheckNeighborDiffmin_check_neighbor_diff (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Schwellenwert der Grauwertdifferenz zu jedem einzelnen Kreispunkt.

Default: 15

Wertevorschläge: 10, 15, 20, 25, 30, 35, 40, 45, 60, 80

MinScoreMinScoreMinScoreminScoremin_score (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Schwellenwert der Grauwertdifferenz zu allen Kreispunkten.

Default: 30

Wertevorschläge: 5, 10, 15, 20, 25, 30

SubpixSubpixSubpixsubpixsubpix (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Subpixelgenaue Punktkoordinaten.

Default: 'interpolation' "interpolation" "interpolation" "interpolation" "interpolation"

Werteliste: 'interpolation'"interpolation""interpolation""interpolation""interpolation", 'none'"none""none""none""none"

RowRowRowrowrow (output_control)  point.y-array HTupleSequence[Union[int, float]]HTupleHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double)

Zeilenkoordinaten der detektierten Punkte.

ColumnColumnColumncolumncolumn (output_control)  point.x-array HTupleSequence[Union[int, float]]HTupleHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double)

Spaltenkoordinaten der detektierten Punkte.

Vorgänger

gauss_filtergauss_filterGaussFilterGaussFiltergauss_filter

Alternativen

points_foerstnerpoints_foerstnerPointsFoerstnerPointsFoerstnerpoints_foerstner, points_harrispoints_harrisPointsHarrisPointsHarrispoints_harris, points_harris_binomialpoints_harris_binomialPointsHarrisBinomialPointsHarrisBinomialpoints_harris_binomial, points_sojkapoints_sojkaPointsSojkaPointsSojkapoints_sojka

Modul

Foundation