points_lepetitT_points_lepetitPointsLepetitPointsLepetit (Operator)

Name

points_lepetitT_points_lepetitPointsLepetitPointsLepetit — 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)

Beschreibung

points_lepetitpoints_lepetitPointsLepetitPointsLepetitPointsLepetit 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 MinCheckNeighborDiffMinCheckNeighborDiffMinCheckNeighborDiffMinCheckNeighborDiffminCheckNeighborDiff 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 CheckNeighborCheckNeighborCheckNeighborCheckNeighborcheckNeighbor 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 MinScoreMinScoreMinScoreMinScoreminScore 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_lepetitPointsLepetitPointsLepetitPointsLepetit 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_harrisPointsHarrisPointsHarrisPointsHarris 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 objectHImageHImageHobject (byte / uint2)

Eingabebild.

RadiusRadiusRadiusRadiusradius (input_control)  integer HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Der Radius des Kreises.

Defaultwert: 3

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

CheckNeighborCheckNeighborCheckNeighborCheckNeighborcheckNeighbor (input_control)  integer HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Die Anzahl von untersuchten Nachbarpixeln auf dem Kreis.

Defaultwert: 1

Wertevorschläge: 1, 2, 3, 5

MinCheckNeighborDiffMinCheckNeighborDiffMinCheckNeighborDiffMinCheckNeighborDiffminCheckNeighborDiff (input_control)  integer HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Schwellwert der Grauwertdifferenz zu jedem einzelnen Kreispunkt.

Defaultwert: 15

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

MinScoreMinScoreMinScoreMinScoreminScore (input_control)  integer HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Schwellwert der Grauwertdifferenz zu allen Kreispunkten.

Defaultwert: 30

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

SubpixSubpixSubpixSubpixsubpix (input_control)  string HTupleHTupleHtuple (string) (string) (HString) (char*)

Subpixelgenaue Punktkoordinaten.

Defaultwert: 'interpolation' "interpolation" "interpolation" "interpolation" "interpolation"

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

RowRowRowRowrow (output_control)  point.y-array HTupleHTupleHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double)

Zeilenkoordinaten der detektierten Punkte.

ColumnColumnColumnColumncolumn (output_control)  point.x-array HTupleHTupleHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double)

Spaltenkoordinaten der detektierten Punkte.

Vorgänger

gauss_filtergauss_filterGaussFilterGaussFilterGaussFilter

Alternativen

points_foerstnerpoints_foerstnerPointsFoerstnerPointsFoerstnerPointsFoerstner, points_harrispoints_harrisPointsHarrisPointsHarrisPointsHarris, points_harris_binomialpoints_harris_binomialPointsHarrisBinomialPointsHarrisBinomialPointsHarrisBinomial, points_sojkapoints_sojkaPointsSojkaPointsSojkaPointsSojka

Modul

Foundation