KlassenKlassenKlassenKlassen | | | | Operatoren

find_planar_uncalib_deformable_modelT_find_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelFindPlanarUncalibDeformableModel (Operator)

Name

find_planar_uncalib_deformable_modelT_find_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelFindPlanarUncalibDeformableModel — Unkalibrierte Suche nach den besten Matches eines planaren deformierbaren Modells in einem Bild.

Signatur

find_planar_uncalib_deformable_model(Image : : ModelID, AngleStart, AngleExtent, ScaleRMin, ScaleRMax, ScaleCMin, ScaleCMax, MinScore, NumMatches, MaxOverlap, NumLevels, Greediness, ParamName, ParamValue : HomMat2D, Score)

Herror T_find_planar_uncalib_deformable_model(const Hobject Image, const Htuple ModelID, const Htuple AngleStart, const Htuple AngleExtent, const Htuple ScaleRMin, const Htuple ScaleRMax, const Htuple ScaleCMin, const Htuple ScaleCMax, const Htuple MinScore, const Htuple NumMatches, const Htuple MaxOverlap, const Htuple NumLevels, const Htuple Greediness, const Htuple ParamName, const Htuple ParamValue, Htuple* HomMat2D, Htuple* Score)

Herror find_planar_uncalib_deformable_model(Hobject Image, const HTuple& ModelID, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& ScaleRMin, const HTuple& ScaleRMax, const HTuple& ScaleCMin, const HTuple& ScaleCMax, const HTuple& MinScore, const HTuple& NumMatches, const HTuple& MaxOverlap, const HTuple& NumLevels, const HTuple& Greediness, const HTuple& ParamName, const HTuple& ParamValue, HTuple* HomMat2D, HTuple* Score)

HTuple HImage::FindPlanarUncalibDeformableModel(const HDeformableModel& ModelID, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& ScaleRMin, const HTuple& ScaleRMax, const HTuple& ScaleCMin, const HTuple& ScaleCMax, const HTuple& MinScore, const HTuple& NumMatches, const HTuple& MaxOverlap, const HTuple& NumLevels, const HTuple& Greediness, const HTuple& ParamName, const HTuple& ParamValue, HTuple* Score) const

HTuple HDeformableModel::FindPlanarUncalibDeformableModel(const HImage& Image, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& ScaleRMin, const HTuple& ScaleRMax, const HTuple& ScaleCMin, const HTuple& ScaleCMax, const HTuple& MinScore, const HTuple& NumMatches, const HTuple& MaxOverlap, const HTuple& NumLevels, const HTuple& Greediness, const HTuple& ParamName, const HTuple& ParamValue, HTuple* Score) const

void FindPlanarUncalibDeformableModel(const HObject& Image, const HTuple& ModelID, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& ScaleRMin, const HTuple& ScaleRMax, const HTuple& ScaleCMin, const HTuple& ScaleCMax, const HTuple& MinScore, const HTuple& NumMatches, const HTuple& MaxOverlap, const HTuple& NumLevels, const HTuple& Greediness, const HTuple& ParamName, const HTuple& ParamValue, HTuple* HomMat2D, HTuple* Score)

HHomMat2DArray HDeformableModel::FindPlanarUncalibDeformableModel(const HImage& Image, double AngleStart, double AngleExtent, double ScaleRMin, double ScaleRMax, double ScaleCMin, double ScaleCMax, double MinScore, Hlong NumMatches, double MaxOverlap, const HTuple& NumLevels, double Greediness, const HTuple& ParamName, const HTuple& ParamValue, HTuple* Score) const

HHomMat2D HDeformableModel::FindPlanarUncalibDeformableModel(const HImage& Image, double AngleStart, double AngleExtent, double ScaleRMin, double ScaleRMax, double ScaleCMin, double ScaleCMax, double MinScore, Hlong NumMatches, double MaxOverlap, Hlong NumLevels, double Greediness, const HTuple& ParamName, const HTuple& ParamValue, HTuple* Score) const

HHomMat2DArray HImage::FindPlanarUncalibDeformableModel(const HDeformableModel& ModelID, double AngleStart, double AngleExtent, double ScaleRMin, double ScaleRMax, double ScaleCMin, double ScaleCMax, double MinScore, Hlong NumMatches, double MaxOverlap, const HTuple& NumLevels, double Greediness, const HTuple& ParamName, const HTuple& ParamValue, HTuple* Score) const

HHomMat2D HImage::FindPlanarUncalibDeformableModel(const HDeformableModel& ModelID, double AngleStart, double AngleExtent, double ScaleRMin, double ScaleRMax, double ScaleCMin, double ScaleCMax, double MinScore, Hlong NumMatches, double MaxOverlap, Hlong NumLevels, double Greediness, const HTuple& ParamName, const HTuple& ParamValue, HTuple* Score) const

void HOperatorSetX.FindPlanarUncalibDeformableModel(
[in] IHUntypedObjectX* Image, [in] VARIANT ModelID, [in] VARIANT AngleStart, [in] VARIANT AngleExtent, [in] VARIANT ScaleRMin, [in] VARIANT ScaleRMax, [in] VARIANT ScaleCMin, [in] VARIANT ScaleCMax, [in] VARIANT MinScore, [in] VARIANT NumMatches, [in] VARIANT MaxOverlap, [in] VARIANT NumLevels, [in] VARIANT Greediness, [in] VARIANT ParamName, [in] VARIANT ParamValue, [out] VARIANT* HomMat2d, [out] VARIANT* Score)

IHHomMat2DX* HDeformableModelX.FindPlanarUncalibDeformableModel(
[in] IHImageX* Image, [in] double AngleStart, [in] double AngleExtent, [in] double ScaleRMin, [in] double ScaleRMax, [in] double ScaleCMin, [in] double ScaleCMax, [in] double MinScore, [in] Hlong NumMatches, [in] double MaxOverlap, [in] VARIANT NumLevels, [in] double Greediness, [in] VARIANT ParamName, [in] VARIANT ParamValue, [out] VARIANT* Score)

IHHomMat2DX* HImageX.FindPlanarUncalibDeformableModel(
[in] IHDeformableModelX* ModelID, [in] double AngleStart, [in] double AngleExtent, [in] double ScaleRMin, [in] double ScaleRMax, [in] double ScaleCMin, [in] double ScaleCMax, [in] double MinScore, [in] Hlong NumMatches, [in] double MaxOverlap, [in] VARIANT NumLevels, [in] double Greediness, [in] VARIANT ParamName, [in] VARIANT ParamValue, [out] VARIANT* Score)

static void HOperatorSet.FindPlanarUncalibDeformableModel(HObject image, HTuple modelID, HTuple angleStart, HTuple angleExtent, HTuple scaleRMin, HTuple scaleRMax, HTuple scaleCMin, HTuple scaleCMax, HTuple minScore, HTuple numMatches, HTuple maxOverlap, HTuple numLevels, HTuple greediness, HTuple paramName, HTuple paramValue, out HTuple homMat2D, out HTuple score)

HHomMat2D[] HDeformableModel.FindPlanarUncalibDeformableModel(HImage image, double angleStart, double angleExtent, double scaleRMin, double scaleRMax, double scaleCMin, double scaleCMax, double minScore, int numMatches, double maxOverlap, HTuple numLevels, double greediness, HTuple paramName, HTuple paramValue, out HTuple score)

HHomMat2D HDeformableModel.FindPlanarUncalibDeformableModel(HImage image, double angleStart, double angleExtent, double scaleRMin, double scaleRMax, double scaleCMin, double scaleCMax, double minScore, int numMatches, double maxOverlap, int numLevels, double greediness, HTuple paramName, HTuple paramValue, out HTuple score)

HHomMat2D[] HImage.FindPlanarUncalibDeformableModel(HDeformableModel modelID, double angleStart, double angleExtent, double scaleRMin, double scaleRMax, double scaleCMin, double scaleCMax, double minScore, int numMatches, double maxOverlap, HTuple numLevels, double greediness, HTuple paramName, HTuple paramValue, out HTuple score)

HHomMat2D HImage.FindPlanarUncalibDeformableModel(HDeformableModel modelID, double angleStart, double angleExtent, double scaleRMin, double scaleRMax, double scaleCMin, double scaleCMax, double minScore, int numMatches, double maxOverlap, int numLevels, double greediness, HTuple paramName, HTuple paramValue, out HTuple score)

Beschreibung

Der Operator find_planar_uncalib_deformable_modelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelFindPlanarUncalibDeformableModel sucht die besten NumMatchesNumMatchesNumMatchesNumMatchesNumMatchesnumMatches Instanzen eines perspektivisch verzerrten deformierbaren Modells ModelIDModelIDModelIDModelIDModelIDmodelID in dem Suchbild ImageImageImageImageImageimage. Die Modelle müssen vorher durch create_planar_uncalib_deformable_modelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelCreatePlanarUncalibDeformableModel oder read_deformable_modelread_deformable_modelReadDeformableModelread_deformable_modelReadDeformableModelReadDeformableModel erzeugt worden sein.

Die projektive Transformation (Homographie), die die Lage des gefundenen Matches beschreibt, wird in HomMat2DHomMat2DHomMat2DHomMat2DHomMat2DhomMat2D zurückgegeben. In dem Fall dass mehrere Objekte gefunden werden, werden die verschiedenen Homographien aneinandergefügt. Eine einzelne Homographie kann einfach durch tuple_select_range(HomMat2D,Index*9,(Index+1)*9-1, SelectedHomMat2D) extrahiert werden. Die verschiedenen Ergebnisse werden in abfallender Reihenfolge nach ScoreScoreScoreScoreScorescore sortiert. Die Zeilen und Spaltenkoordinaten des Ursprungs des deformierbaren Modells im Suchbild können durch Aufruf von projective_trans_pixel(HomMat2D,0,0,Row,Column) besimmt werden. Normalerweise ist der Ursprung des Modells der Schwerpunkt der Region des Bildes, das zur Erzeugung des Formmodells mit create_planar_uncalib_deformable_modelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelCreatePlanarUncalibDeformableModel verwendet wurde.

Ein anderer Ursprung kann mit set_deformable_model_originset_deformable_model_originSetDeformableModelOriginset_deformable_model_originSetDeformableModelOriginSetDeformableModelOrigin gesetzt werden. Für Visualisierungszwecke können die Modellkonturen, die durch get_deformable_model_contoursget_deformable_model_contoursGetDeformableModelContoursget_deformable_model_contoursGetDeformableModelContoursGetDeformableModelContours extrahiert wurden, mit Hilfe des Operators projective_trans_contour_xldprojective_trans_contour_xldProjectiveTransContourXldprojective_trans_contour_xldProjectiveTransContourXldProjectiveTransContourXld and die Stelle, die durch HomMat2DHomMat2DHomMat2DHomMat2DHomMat2DhomMat2D gegeben ist, dargestellt werden.

Zusätzlich wird in ScoreScoreScoreScoreScorescore die Bewertung der gefundenen Instanzen zurückgegeben. Die Bewertung ist eine Zahl zwischen 0 und 1 und ist ein ungefähres Maß dafür, welcher Anteil des Modells im Bild zu sehen ist. Falls z.B. die Hälfte des Modells im Bild verdeckt ist, kann die Bewertung nicht größer als 0.5 sein.

Der Definitionsbereich des Bildes ImageImageImageImageImageimage gibt den Suchbereich für den Referenzpunkt des Modells an, d.h. für den Schwerpunkt der Region des Bildes, das zur Erzeugung des deformierbaren Modells mit create_planar_uncalib_deformable_modelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelCreatePlanarUncalibDeformableModel verwendet wurde. Ein eventuell mit set_deformable_model_originset_deformable_model_originSetDeformableModelOriginset_deformable_model_originSetDeformableModelOriginSetDeformableModelOrigin anders gesetzter Ursprung wird nicht berücksichtigt. Das Modell wird innerhalb des Definitionsbereiches des Eingabebildes nur an den Stellen gesucht, an denen das Modell vollständig in das Bild passt. Das bedeutet, dass das Modell nicht gefunden werden kann, wenn es aus dem Bild herausragt, selbst wenn eine Bewertung größer als MinScoreMinScoreMinScoreMinScoreMinScoreminScore erreichen würde (siehe unten). Dieses Verhalten kann mit set_system('border_shape_models','true')set_system("border_shape_models","true")SetSystem("border_shape_models","true")set_system("border_shape_models","true")SetSystem("border_shape_models","true")SetSystem("border_shape_models","true") umgestellt werden, so dass auch Modelle gefunden werden, die aus dem Bild herausragen, falls sie eine Bewertung größer als MinScoreMinScoreMinScoreMinScoreMinScoreminScore erreichen. Dabei werden Punkte außerhalb des Bildes als verdeckt angesehen, d.h. sie verringern die Bewertung. Es ist zu beachten, dass dieser Modus die Laufzeit der Suche erhöht.

Der Suchbereich, der durch die Parameter AngleStartAngleStartAngleStartAngleStartAngleStartangleStart, AngleExtentAngleExtentAngleExtentAngleExtentAngleExtentangleExtent, ScaleRMinScaleRMinScaleRMinScaleRMinScaleRMinscaleRMin, ScaleRMaxScaleRMaxScaleRMaxScaleRMaxScaleRMaxscaleRMax, ScaleCMinScaleCMinScaleCMinScaleCMinScaleCMinscaleCMin und ScaleCMaxScaleCMaxScaleCMaxScaleCMaxScaleCMaxscaleCMax angegeben wird, kann verwendet werden um einen bis zu anisotroper Skalierung reichenden Suchbereich anzugeben, der erschöpfend auf der obersten Pyramidenstufe durchsucht wird. Der Operator find_planar_uncalib_deformable_modelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelFindPlanarUncalibDeformableModel findet Objekte auserhalb dieses Bereichs, z.B. auch dann, wenn das Objekt perspektivisch verzeichnet wird. Deshalb sind diese Bereichsparameter eine Art Vorschlag für den Suchalgorithmus, und ausgehend von diesem werden Objekte in einem größeren Bereich gefunden, was von der Anzahl der Pyramiden wie auch dem Bildinhalt abhängt. Oft ist es nicht nötig, dass eine anisotrope Skalierung verwendet wird, um das Objekt zu finden. In diesen Fällen kann ScaleCMinScaleCMinScaleCMinScaleCMinScaleCMinscaleCMin und ScaleCMaxScaleCMaxScaleCMaxScaleCMaxScaleCMaxscaleCMax auf 1 gesetzt werden. Die Suche wird dann nur mit einer isotropen Skalierung durchgeführt, was deutlich schneller ist.

Der Paramterer MinScoreMinScoreMinScoreMinScoreMinScoreminScore bestimmt, welchen Score ein potenzieller Match mindestens haben muss, damit er als Instanz des Modells im Bild angesehen wird. Umso höher MinScoreMinScoreMinScoreMinScoreMinScoreminScore gewählt wird, umso schneller wird die Suche im Bild. Falls das Modell niemals verdeckt wird, kann MinScoreMinScoreMinScoreMinScoreMinScoreminScore sogar auf 0.8 oder sogar 0.9 gesetzt werden.

Die maximale Anzahl der Instanzen, die gefunden werden können, kann mit NumMatchesNumMatchesNumMatchesNumMatchesNumMatchesnumMatches angegeben werden. Falls mehr als NumMatchesNumMatchesNumMatchesNumMatchesNumMatchesnumMatches Instanzen einen Wert größer als MinScoreMinScoreMinScoreMinScoreMinScoreminScore haben, werden nur die besten NumMatchesNumMatchesNumMatchesNumMatchesNumMatchesnumMatches zurückgegeben. Falls weniger als NumMatchesNumMatchesNumMatchesNumMatchesNumMatchesnumMatches gefunden werden, wird nur diese Anzahl zurückgegeben, das heißt, dass der Parameter MinScoreMinScoreMinScoreMinScoreMinScoreminScore vorrang vor NumMatchesNumMatchesNumMatchesNumMatchesNumMatchesnumMatches hat. Sollen alle Modellinstanzen, deren Bewertung MinScoreMinScoreMinScoreMinScoreMinScoreminScore übersteigt, im Bild gefunden werden, muss NumMatchesNumMatchesNumMatchesNumMatchesNumMatchesnumMatches auf 0 gesetzt werden. In seltenen Fällen muss NumMatchesNumMatchesNumMatchesNumMatchesNumMatchesnumMatches auf einen höheren Wert als die beabsichtigte Anzahl von gefundenen Instanzen gesetzt werden. Das ist z.B. der Fall, wenn ein kleiner Wert für MinScoreMinScoreMinScoreMinScoreMinScoreminScore gesetzt wurde.

Falls das Modell Symmetrien aufweist, kann es vorkommen, dass mehrere Instanzen an ähnlichen Positionen im Bild, aber mit verschiedenen Rotationen gefunden werden. Mit dem Parameter MaxOverlapMaxOverlapMaxOverlapMaxOverlapMaxOverlapmaxOverlap kann bestimmt werden, um welchen Anteil, ausgedrückt als Zahl zwischen 0 und 1, sich zwei Instanzen höchstens überlappen dürfen, damit sie als verschieden angesehen werden, und somit zurückgeliefert werden. Falls sich zwei Instanzen um mehr als MaxOverlapMaxOverlapMaxOverlapMaxOverlapMaxOverlapmaxOverlap überlappen, wird nur die beste gefundene Instanz zurückgeliefert. Die Berechnung der Überlappung erfolgt anhand der kleinsten umschließenden Rechtecke beliebiger Orientierung der Konturen (siehe smallest_rectangle2smallest_rectangle2SmallestRectangle2smallest_rectangle2SmallestRectangle2SmallestRectangle2). Bei MaxOverlapMaxOverlapMaxOverlapMaxOverlapMaxOverlapmaxOverlap=0 dürfen sich die gefundenen Instanzen nicht überlappen, bei MaxOverlapMaxOverlapMaxOverlapMaxOverlapMaxOverlapmaxOverlap=1 werden alle gefundenen Instanzen zurückgeliefert.

Mit Hilfe der generischen Parameter ParamNameParamNameParamNameParamNameParamNameparamName und ParamValueParamValueParamValueParamValueParamValueparamValue können mögliche Parameter angepasst werden, die typischerweise nicht von dem Benutzer verändert werden müssen. Grundsätzlich wird die Position mit hoher Subpixelgenauigkeit ('least_squares_very_high'"least_squares_very_high""least_squares_very_high""least_squares_very_high""least_squares_very_high""least_squares_very_high") durch eine kleinste-quadrate Ausgleichung berechnet, das heißt, das die Abstände von Modellpunkten zu ihren korrespondierenden Bildpunkten minimiert werden. Falls diese hohe Genauigkeit von einer Anwendung nicht benötigt wird, kann die Subpixelgenaue Verfeinerung verringert oder sogar ganz ausgeschaltet werden, um die Laufzeit zu verkürzen. Hierzu wird 'sub_pixel' in ParamNameParamNameParamNameParamNameParamNameparamName und 'none'"none""none""none""none""none", 'least_squares'"least_squares""least_squares""least_squares""least_squares""least_squares" oder 'least_squares_high'"least_squares_high""least_squares_high""least_squares_high""least_squares_high""least_squares_high" für ParamValueParamValueParamValueParamValueParamValueparamValue übergeben. Eine weitere Anwendung für ParamNameParamNameParamNameParamNameParamNameparamName und ParamValueParamValueParamValueParamValueParamValueparamValue ist das Überschreiben der Diskretisierungsschritte des Suchraums 'angle_step', 'scale_r_step' und 'scale_c_step', die definiert wurden als das Model mit create_planar_uncalib_deformable_modelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelCreatePlanarUncalibDeformableModel erzeugt wurde.

Wie in create_planar_uncalib_deformable_modelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelCreatePlanarUncalibDeformableModel beschrieben, führt der deformierbare Matching-algorithmus eine vollkommene Suche des Basissuchbereichs, der mit AngleStartAngleStartAngleStartAngleStartAngleStartangleStart, AngleExtentAngleExtentAngleExtentAngleExtentAngleExtentangleExtent, ScaleRMinScaleRMinScaleRMinScaleRMinScaleRMinscaleRMin, ScaleRMaxScaleRMaxScaleRMaxScaleRMaxScaleRMaxscaleRMax, ScaleCMinScaleCMinScaleCMinScaleCMinScaleCMinscaleCMin und ScaleCMaxScaleCMaxScaleCMaxScaleCMaxScaleCMaxscaleCMax angegeben wird, aus. Um die Erkennung von sogar perspektivisch verzeichneten Objekten zu erlauben, wird eine zusätzliche Transformation geschätzt. Diese zusätzliche Transformation bring das Modell vom ursprünglichen Suchbereich in einen größeren, perspektivisch verzeichneten Suchbereich. Dadurch, dass perspektivische Verzeichnungen erlaubt werden, steigt das Risiko von falschen Matches. Eine zusätzliche Verwendung des Parameters ParamNameParamNameParamNameParamNameParamNameparamName ist es, falsch als positiv Klassifizierte Matches zu verwerfen. Das ist zum Beispiel nötig, falls ein kleiner Wert in MinScoreMinScoreMinScoreMinScoreMinScoreminScore angegeben wurde und das Bild signifikanten Hintergrund mit ähnlichem Aussehen wie das Modell enthällt.

Um beliebige, zufällige, perspektivische Verzeichnungen zu unterdrücken, können die Parameter 'angle_change_restriction'"angle_change_restriction""angle_change_restriction""angle_change_restriction""angle_change_restriction""angle_change_restriction" und 'aniso_scale_change_restriction'"aniso_scale_change_restriction""aniso_scale_change_restriction""aniso_scale_change_restriction""aniso_scale_change_restriction""aniso_scale_change_restriction" in ParamNameParamNameParamNameParamNameParamNameparamName verwendet werden. Mit 'angle_change_restriction'"angle_change_restriction""angle_change_restriction""angle_change_restriction""angle_change_restriction""angle_change_restriction" wird die maximal tolerierte Winkelverzeichnung eingeschränkt (zwischen dem Standardwert 0.0, der beliebige Deformationen erlaubt, und , der keine Deformation erlaubt. Dieser Parameter überprüft, ob ein Winkel von 90 Grad an den Ecken des an den Achsen ausgerichteten Rechtecks um die Modellpunkte um mehr als den korrespondierenden ParamValueParamValueParamValueParamValueParamValueparamValue für die Modellinstanz verändert wird. Es ist zu beachten, dass dieser Parameter sowohl den affinen (die Scherung) als auch den perspektivischen Anteil der Transformation einschränkt. Zum Beispiel kann mit 'angle_change_restriction'"angle_change_restriction""angle_change_restriction""angle_change_restriction""angle_change_restriction""angle_change_restriction" ein rechteckiges Modell davon abgehalten werden sich zu einem Parallelogram oder Trapez zu verformen.

Mit dem Parameter 'aniso_scale_change_restriction'"aniso_scale_change_restriction""aniso_scale_change_restriction""aniso_scale_change_restriction""aniso_scale_change_restriction""aniso_scale_change_restriction" kann der anisotrope Skalierungsanteil eingeschränkt werden (der kleinere Anteil geteilt durch den größeren Skalierungsfaktor). Der Wertebereich dieses Parameters reicht vom Standardwert 0.0, der beliebige Deformationen erlaubt, bis zu 1.0, wo keine Deformationen erlaubt sind. Ein Beispiel dafür ist, dass mit diesem Parameter ein quadratisches Modell nicht zu einem rechteckigen Modell verformt werden kann.

Mit NumLevelsNumLevelsNumLevelsNumLevelsNumLevelsnumLevels wird die Anzahl der Pyramidenebenen festgelegt, die bei der Suche verwendet werden soll. Die Anzahl der Ebenen wird gegebenenfalls auf den bei der Erzeugung mit create_planar_uncalib_deformable_modelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelCreatePlanarUncalibDeformableModel angebenen Bereich beschnitten. Falls NumLevelsNumLevelsNumLevelsNumLevelsNumLevelsnumLevels als 0 angegeben wird, wird die mit create_planar_uncalib_deformable_modelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelCreatePlanarUncalibDeformableModel angegebene Anzahl verwendet.

Der Parameter GreedinessGreedinessGreedinessGreedinessGreedinessgreediness bestimmt, wie „gierig“ die Suche durchgeführt werden soll. Für GreedinessGreedinessGreedinessGreedinessGreedinessgreediness=0 wird eine sichere Suchheuristik verwendet, die das Modell, falls im Bild vorhanden, immer findet, wenn die anderen Parameter passend gesetzt sind. Allerdings ist die Suche hiermit relativ zeitaufwendig. Für GreedinessGreedinessGreedinessGreedinessGreedinessgreediness=1 wird eine unsichere Suchheuristik verwendet, bei der es in seltenen Fällen vorkommen kann, dass das Modell nicht gefunden wird, obwohl es im Bild sichtbar ist. Für GreedinessGreedinessGreedinessGreedinessGreedinessgreediness=1 wird die maximale Suchgeschwindigkeit erreicht. In den allermeisten Fällen wird das Formmodell für GreedinessGreedinessGreedinessGreedinessGreedinessgreediness=0.9 immer sicher gefunden.

Parallelisierung

Parameter

ImageImageImageImageImageimage (input_object)  (multichannel-)image objectHImageHImageHImageHImageXHobject (byte / uint2)

Eingabebild, in dem das Modell gefunden werden soll.

ModelIDModelIDModelIDModelIDModelIDmodelID (input_control)  deformable_model HDeformableModel, HTupleHTupleHDeformableModel, HTupleHDeformableModelX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Handle des Modells.

AngleStartAngleStartAngleStartAngleStartAngleStartangleStart (input_control)  angle.rad HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Kleinste auftretende Rotation des Modells.

Defaultwert: -0.39

Wertevorschläge: -3.14, -1.57, -0.79, -0.39, -0.20, 0.0

AngleExtentAngleExtentAngleExtentAngleExtentAngleExtentangleExtent (input_control)  angle.rad HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Ausdehnung des Winkelbereichs.

Defaultwert: 0.78

Wertevorschläge: 6.29, 3.14, 1.57, 0.79, 0.39, 0.0

Restriktion: AngleExtent >= 0

ScaleRMinScaleRMinScaleRMinScaleRMinScaleRMinscaleRMin (input_control)  number HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Kleinste auftretende Skalierung des Modells in Zeilenrichtung.

Defaultwert: 1.0

Wertevorschläge: 0.5, 0.6, 0.7, 0.8, 0.9, 1.0

Restriktion: ScaleRMin > 0

ScaleRMaxScaleRMaxScaleRMaxScaleRMaxScaleRMaxscaleRMax (input_control)  number HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Größte auftretende Skalierung des Modells in Zeilenrichtung.

Defaultwert: 1.0

Wertevorschläge: 1.0, 1.1, 1.2, 1.3, 1.4, 1.5

Restriktion: ScaleRMax >= ScaleRMin

ScaleCMinScaleCMinScaleCMinScaleCMinScaleCMinscaleCMin (input_control)  number HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Kleinste auftretende Skalierung des Modells in Spaltenrichtung.

Defaultwert: 1.0

Wertevorschläge: 0.5, 0.6, 0.7, 0.8, 0.9, 1.0

Restriktion: ScaleCMin > 0

ScaleCMaxScaleCMaxScaleCMaxScaleCMaxScaleCMaxscaleCMax (input_control)  number HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Größte auftretende Skalierung des Modells in Spaltenrichtung.

Defaultwert: 1.0

Wertevorschläge: 1.0, 1.1, 1.2, 1.3, 1.4, 1.5

Restriktion: ScaleCMax >= ScaleCMin

MinScoreMinScoreMinScoreMinScoreMinScoreminScore (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Minimale Bewertung der zu findenden Instanzen des Modells.

Defaultwert: 0.5

Wertevorschläge: 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0

Typischer Wertebereich: 0 ≤ MinScore MinScore MinScore MinScore MinScore minScore ≤ 1

Minimale Schrittweite: 0.01

Empfohlene Schrittweite: 0.05

NumMatchesNumMatchesNumMatchesNumMatchesNumMatchesnumMatches (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Anzahl der zu findenden Instanzen des Modells (oder 0 für alle Treffer).

Defaultwert: 1

Wertevorschläge: 0, 1, 2, 3, 4, 5, 10, 20

MaxOverlapMaxOverlapMaxOverlapMaxOverlapMaxOverlapmaxOverlap (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Maximale Überlappung der zu findenden Instanzen des Modells.

Defaultwert: 1.0

Wertevorschläge: 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0

Typischer Wertebereich: 0 ≤ MaxOverlap MaxOverlap MaxOverlap MaxOverlap MaxOverlap maxOverlap ≤ 1

Minimale Schrittweite: 0.01

Empfohlene Schrittweite: 0.05

NumLevelsNumLevelsNumLevelsNumLevelsNumLevelsnumLevels (input_control)  integer(-array) HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Anzahl der verwendeten Pyramidenebenen (und unterste zu verwendende Pyramidenebene falls |NumLevelsNumLevelsNumLevelsNumLevelsNumLevelsnumLevels| = 2).

Defaultwert: 0

Werteliste: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

GreedinessGreedinessGreedinessGreedinessGreedinessgreediness (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

„Gierigkeit“ der Suchheuristik (0: sicher aber langsam; 1: schnell aber Matches können „übersehen“ werden).

Defaultwert: 0.9

Wertevorschläge: 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0

Typischer Wertebereich: 0 ≤ Greediness Greediness Greediness Greediness Greediness greediness ≤ 1

Minimale Schrittweite: 0.01

Empfohlene Schrittweite: 0.05

ParamNameParamNameParamNameParamNameParamNameparamName (input_control)  string-array HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Namen der allgemeinen Parameter.

Defaultwert: []

Werteliste: [], 'angle_change_restriction'"angle_change_restriction""angle_change_restriction""angle_change_restriction""angle_change_restriction""angle_change_restriction", 'angle_step'"angle_step""angle_step""angle_step""angle_step""angle_step", 'aniso_scale_change_restriction'"aniso_scale_change_restriction""aniso_scale_change_restriction""aniso_scale_change_restriction""aniso_scale_change_restriction""aniso_scale_change_restriction", 'scale_c_step'"scale_c_step""scale_c_step""scale_c_step""scale_c_step""scale_c_step", 'scale_r_step'"scale_r_step""scale_r_step""scale_r_step""scale_r_step""scale_r_step", 'subpixel'"subpixel""subpixel""subpixel""subpixel""subpixel"

ParamValueParamValueParamValueParamValueParamValueparamValue (input_control)  integer-array HTupleHTupleHTupleVARIANTHtuple (integer / real / string) (int / long / double / string) (Hlong / double / HString) (Hlong / double / char*) (Hlong / double / BSTR) (Hlong / double / char*)

Werte der allgemeinen Parameter.

Defaultwert: []

Werteliste: [], 'least_squares'"least_squares""least_squares""least_squares""least_squares""least_squares", 'least_squares_high'"least_squares_high""least_squares_high""least_squares_high""least_squares_high""least_squares_high", 'least_squares_very_high'"least_squares_very_high""least_squares_very_high""least_squares_very_high""least_squares_very_high""least_squares_very_high", 'none'"none""none""none""none""none"

HomMat2DHomMat2DHomMat2DHomMat2DHomMat2DhomMat2D (output_control)  hom_mat2d(-array) HHomMat2D, HTupleHTupleHTupleHHomMat2DX, VARIANTHtuple (real) (double) (double) (double) (double) (double)

Homographie zwischen Modell und gefundenem Objekt.

ScoreScoreScoreScoreScorescore (output_control)  real-array HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Bewertung der gefundenen Instanzen des Modells.

Ergebnis

Sind die Parameterwerte korrekt, dann liefert find_planar_uncalib_deformable_modelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelFindPlanarUncalibDeformableModel den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

create_planar_uncalib_deformable_modelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelCreatePlanarUncalibDeformableModel, read_deformable_modelread_deformable_modelReadDeformableModelread_deformable_modelReadDeformableModelReadDeformableModel

Alternativen

find_planar_calib_deformable_modelfind_planar_calib_deformable_modelFindPlanarCalibDeformableModelfind_planar_calib_deformable_modelFindPlanarCalibDeformableModelFindPlanarCalibDeformableModel

Modul

Matching


KlassenKlassenKlassenKlassen | | | | Operatoren