find_component_model T_find_component_model FindComponentModel FindComponentModel find_component_model (Operator)
Name
find_component_model T_find_component_model FindComponentModel FindComponentModel find_component_model — Suche der besten Matches eines Komponentenmodells in einem Bild.
Signatur
find_component_model (Image : : ComponentModelID , RootComponent , AngleStartRoot , AngleExtentRoot , MinScore , NumMatches , MaxOverlap , IfRootNotFound , IfComponentNotFound , PosePrediction , MinScoreComp , SubPixelComp , NumLevelsComp , GreedinessComp : ModelStart , ModelEnd , Score , RowComp , ColumnComp , AngleComp , ScoreComp , ModelComp )
Herror T_find_component_model (const Hobject Image , const Htuple ComponentModelID , const Htuple RootComponent , const Htuple AngleStartRoot , const Htuple AngleExtentRoot , const Htuple MinScore , const Htuple NumMatches , const Htuple MaxOverlap , const Htuple IfRootNotFound , const Htuple IfComponentNotFound , const Htuple PosePrediction , const Htuple MinScoreComp , const Htuple SubPixelComp , const Htuple NumLevelsComp , const Htuple GreedinessComp , Htuple* ModelStart , Htuple* ModelEnd , Htuple* Score , Htuple* RowComp , Htuple* ColumnComp , Htuple* AngleComp , Htuple* ScoreComp , Htuple* ModelComp )
void FindComponentModel (const HObject& Image , const HTuple& ComponentModelID , const HTuple& RootComponent , const HTuple& AngleStartRoot , const HTuple& AngleExtentRoot , const HTuple& MinScore , const HTuple& NumMatches , const HTuple& MaxOverlap , const HTuple& IfRootNotFound , const HTuple& IfComponentNotFound , const HTuple& PosePrediction , const HTuple& MinScoreComp , const HTuple& SubPixelComp , const HTuple& NumLevelsComp , const HTuple& GreedinessComp , HTuple* ModelStart , HTuple* ModelEnd , HTuple* Score , HTuple* RowComp , HTuple* ColumnComp , HTuple* AngleComp , HTuple* ScoreComp , HTuple* ModelComp )
HTuple HComponentModel ::FindComponentModel (const HImage& Image , const HTuple& RootComponent , const HTuple& AngleStartRoot , const HTuple& AngleExtentRoot , double MinScore , Hlong NumMatches , double MaxOverlap , const HString& IfRootNotFound , const HString& IfComponentNotFound , const HString& PosePrediction , const HTuple& MinScoreComp , const HTuple& SubPixelComp , const HTuple& NumLevelsComp , const HTuple& GreedinessComp , HTuple* ModelEnd , HTuple* Score , HTuple* RowComp , HTuple* ColumnComp , HTuple* AngleComp , HTuple* ScoreComp , HTuple* ModelComp ) const
Hlong HComponentModel ::FindComponentModel (const HImage& Image , Hlong RootComponent , double AngleStartRoot , double AngleExtentRoot , double MinScore , Hlong NumMatches , double MaxOverlap , const HString& IfRootNotFound , const HString& IfComponentNotFound , const HString& PosePrediction , double MinScoreComp , const HString& SubPixelComp , Hlong NumLevelsComp , double GreedinessComp , Hlong* ModelEnd , double* Score , double* RowComp , double* ColumnComp , double* AngleComp , double* ScoreComp , Hlong* ModelComp ) const
Hlong HComponentModel ::FindComponentModel (const HImage& Image , Hlong RootComponent , double AngleStartRoot , double AngleExtentRoot , double MinScore , Hlong NumMatches , double MaxOverlap , const char* IfRootNotFound , const char* IfComponentNotFound , const char* PosePrediction , double MinScoreComp , const char* SubPixelComp , Hlong NumLevelsComp , double GreedinessComp , Hlong* ModelEnd , double* Score , double* RowComp , double* ColumnComp , double* AngleComp , double* ScoreComp , Hlong* ModelComp ) const
Hlong HComponentModel ::FindComponentModel (const HImage& Image , Hlong RootComponent , double AngleStartRoot , double AngleExtentRoot , double MinScore , Hlong NumMatches , double MaxOverlap , const wchar_t* IfRootNotFound , const wchar_t* IfComponentNotFound , const wchar_t* PosePrediction , double MinScoreComp , const wchar_t* SubPixelComp , Hlong NumLevelsComp , double GreedinessComp , Hlong* ModelEnd , double* Score , double* RowComp , double* ColumnComp , double* AngleComp , double* ScoreComp , Hlong* ModelComp ) const
(Nur Windows)
HTuple HImage ::FindComponentModel (const HComponentModel& ComponentModelID , const HTuple& RootComponent , const HTuple& AngleStartRoot , const HTuple& AngleExtentRoot , double MinScore , Hlong NumMatches , double MaxOverlap , const HString& IfRootNotFound , const HString& IfComponentNotFound , const HString& PosePrediction , const HTuple& MinScoreComp , const HTuple& SubPixelComp , const HTuple& NumLevelsComp , const HTuple& GreedinessComp , HTuple* ModelEnd , HTuple* Score , HTuple* RowComp , HTuple* ColumnComp , HTuple* AngleComp , HTuple* ScoreComp , HTuple* ModelComp ) const
Hlong HImage ::FindComponentModel (const HComponentModel& ComponentModelID , Hlong RootComponent , double AngleStartRoot , double AngleExtentRoot , double MinScore , Hlong NumMatches , double MaxOverlap , const HString& IfRootNotFound , const HString& IfComponentNotFound , const HString& PosePrediction , double MinScoreComp , const HString& SubPixelComp , Hlong NumLevelsComp , double GreedinessComp , Hlong* ModelEnd , double* Score , double* RowComp , double* ColumnComp , double* AngleComp , double* ScoreComp , Hlong* ModelComp ) const
Hlong HImage ::FindComponentModel (const HComponentModel& ComponentModelID , Hlong RootComponent , double AngleStartRoot , double AngleExtentRoot , double MinScore , Hlong NumMatches , double MaxOverlap , const char* IfRootNotFound , const char* IfComponentNotFound , const char* PosePrediction , double MinScoreComp , const char* SubPixelComp , Hlong NumLevelsComp , double GreedinessComp , Hlong* ModelEnd , double* Score , double* RowComp , double* ColumnComp , double* AngleComp , double* ScoreComp , Hlong* ModelComp ) const
Hlong HImage ::FindComponentModel (const HComponentModel& ComponentModelID , Hlong RootComponent , double AngleStartRoot , double AngleExtentRoot , double MinScore , Hlong NumMatches , double MaxOverlap , const wchar_t* IfRootNotFound , const wchar_t* IfComponentNotFound , const wchar_t* PosePrediction , double MinScoreComp , const wchar_t* SubPixelComp , Hlong NumLevelsComp , double GreedinessComp , Hlong* ModelEnd , double* Score , double* RowComp , double* ColumnComp , double* AngleComp , double* ScoreComp , Hlong* ModelComp ) const
(Nur Windows)
static void HOperatorSet .FindComponentModel (HObject image , HTuple componentModelID , HTuple rootComponent , HTuple angleStartRoot , HTuple angleExtentRoot , HTuple minScore , HTuple numMatches , HTuple maxOverlap , HTuple ifRootNotFound , HTuple ifComponentNotFound , HTuple posePrediction , HTuple minScoreComp , HTuple subPixelComp , HTuple numLevelsComp , HTuple greedinessComp , out HTuple modelStart , out HTuple modelEnd , out HTuple score , out HTuple rowComp , out HTuple columnComp , out HTuple angleComp , out HTuple scoreComp , out HTuple modelComp )
HTuple HComponentModel .FindComponentModel (HImage image , HTuple rootComponent , HTuple angleStartRoot , HTuple angleExtentRoot , double minScore , int numMatches , double maxOverlap , string ifRootNotFound , string ifComponentNotFound , string posePrediction , HTuple minScoreComp , HTuple subPixelComp , HTuple numLevelsComp , HTuple greedinessComp , out HTuple modelEnd , out HTuple score , out HTuple rowComp , out HTuple columnComp , out HTuple angleComp , out HTuple scoreComp , out HTuple modelComp )
int HComponentModel .FindComponentModel (HImage image , int rootComponent , double angleStartRoot , double angleExtentRoot , double minScore , int numMatches , double maxOverlap , string ifRootNotFound , string ifComponentNotFound , string posePrediction , double minScoreComp , string subPixelComp , int numLevelsComp , double greedinessComp , out int modelEnd , out double score , out double rowComp , out double columnComp , out double angleComp , out double scoreComp , out int modelComp )
HTuple HImage .FindComponentModel (HComponentModel componentModelID , HTuple rootComponent , HTuple angleStartRoot , HTuple angleExtentRoot , double minScore , int numMatches , double maxOverlap , string ifRootNotFound , string ifComponentNotFound , string posePrediction , HTuple minScoreComp , HTuple subPixelComp , HTuple numLevelsComp , HTuple greedinessComp , out HTuple modelEnd , out HTuple score , out HTuple rowComp , out HTuple columnComp , out HTuple angleComp , out HTuple scoreComp , out HTuple modelComp )
int HImage .FindComponentModel (HComponentModel componentModelID , int rootComponent , double angleStartRoot , double angleExtentRoot , double minScore , int numMatches , double maxOverlap , string ifRootNotFound , string ifComponentNotFound , string posePrediction , double minScoreComp , string subPixelComp , int numLevelsComp , double greedinessComp , out int modelEnd , out double score , out double rowComp , out double columnComp , out double angleComp , out double scoreComp , out int modelComp )
def find_component_model (image : HObject, component_model_id : HHandle, root_component : MaybeSequence[int], angle_start_root : MaybeSequence[float], angle_extent_root : MaybeSequence[float], min_score : float, num_matches : int, max_overlap : float, if_root_not_found : str, if_component_not_found : str, pose_prediction : str, min_score_comp : MaybeSequence[float], sub_pixel_comp : MaybeSequence[str], num_levels_comp : MaybeSequence[int], greediness_comp : MaybeSequence[float]) -> Tuple[Sequence[int], Sequence[int], Sequence[float], Sequence[float], Sequence[float], Sequence[float], Sequence[float], Sequence[int]]
def find_component_model_s (image : HObject, component_model_id : HHandle, root_component : MaybeSequence[int], angle_start_root : MaybeSequence[float], angle_extent_root : MaybeSequence[float], min_score : float, num_matches : int, max_overlap : float, if_root_not_found : str, if_component_not_found : str, pose_prediction : str, min_score_comp : MaybeSequence[float], sub_pixel_comp : MaybeSequence[str], num_levels_comp : MaybeSequence[int], greediness_comp : MaybeSequence[float]) -> Tuple[int, int, float, float, float, float, float, int]
Beschreibung
find_component_model find_component_model FindComponentModel FindComponentModel FindComponentModel find_component_model findet die besten NumMatches NumMatches NumMatches NumMatches numMatches num_matches
Instanzen des Komponentenmodells ComponentModelID ComponentModelID ComponentModelID ComponentModelID componentModelID component_model_id im
Eingabebild Image Image Image Image image image .
Das Ergebnis der Suche kann mit get_found_component_model get_found_component_model GetFoundComponentModel GetFoundComponentModel GetFoundComponentModel get_found_component_model
visualisiert werden.
Ebenso können damit die Matches der Komponenten einer bestimmten
Instanz extrahiert werden.
Weitere Informationen zu Eingabeparametern
ComponentModelID ComponentModelID ComponentModelID ComponentModelID componentModelID component_model_id :
Handle des Komponentenmodells.
Das Modell muss zuvor mit
create_trained_component_model create_trained_component_model CreateTrainedComponentModel CreateTrainedComponentModel CreateTrainedComponentModel create_trained_component_model oder
create_component_model create_component_model CreateComponentModel CreateComponentModel CreateComponentModel create_component_model erzeugt oder mit
read_component_model read_component_model ReadComponentModel ReadComponentModel ReadComponentModel read_component_model eingelesen worden sein.
RootComponent RootComponent RootComponent RootComponent rootComponent root_component :
Index der Wurzelkomponente.
Die Komponenten des Komponentenmodells ComponentModelID ComponentModelID ComponentModelID ComponentModelID componentModelID component_model_id
sind durch eine Baumstruktur repräsentiert.
Die Wurzelkomponente steht an der Wurzel des Baumes.
Die Wurzelkomponente wird während der Suche im gesamten Suchraum
gesucht, d.h. innerhalb aller erlaubten Positionen und Orientierungen.
Die übrigen Komponenten werden dagegen jeweils relativ zur Lage
ihres Vorgängers im Baum in einem eingeschränkten Suchraum gesucht
(rekursive Suche).
Die eingeschränkten Suchräume werden dabei aus den entsprechenden
Relationen berechnet.
Inwiefern sich eine Modellkomponente als Wurzelkomponente eignet,
hängt von verschiedenen Faktoren ab.
Prinzipiell sollte eine Modellkomponente gewählt werden, die mit
hoher Wahrscheinlichkeit im Bild wiedergefunden werden kann.
Eine im Bild stark verdeckte oder fehlende Komponente eignet sind
daher nur bedingt als Wurzelkomponente.
Für Verhalten des Operators in solchen Fällen, siehe den Eintrag zu
IfRootNotFound IfRootNotFound IfRootNotFound IfRootNotFound ifRootNotFound if_root_not_found weiter unten.
Ein anderes mögliches Auswahlkriterium ist die mit der Wurzelkomponente
verbundene Rechenzeit während der Suche.
Eine entsprechende Rangfolge der Modellkomponenten wird über
den Parameter RootRanking RootRanking RootRanking RootRanking rootRanking root_ranking des Operators
create_trained_component_model create_trained_component_model CreateTrainedComponentModel CreateTrainedComponentModel CreateTrainedComponentModel create_trained_component_model bzw. create_component_model create_component_model CreateComponentModel CreateComponentModel CreateComponentModel create_component_model
zurückgegeben.
Wird die komplette Rangfolge RootRanking RootRanking RootRanking RootRanking rootRanking root_ranking in
RootComponent RootComponent RootComponent RootComponent rootComponent root_component übergeben, dann wird der erste Wert
RootComponent RootComponent RootComponent RootComponent rootComponent root_component [0] als Wurzelkomponente ausgewählt.
AngleStartRoot AngleStartRoot AngleStartRoot AngleStartRoot angleStartRoot angle_start_root und AngleExtentRoot AngleExtentRoot AngleExtentRoot AngleExtentRoot angleExtentRoot angle_extent_root :
Legen den erlaubten Winkelbereich fest (in [rad]), in dem nach der
Wurzelkomponente gesucht wird.
Der Winkelbereich wird gegebenenfalls auf den Bereich
beschnitten, der bei der Erzeugung des Komponentenmodells mit
create_trained_component_model create_trained_component_model CreateTrainedComponentModel CreateTrainedComponentModel CreateTrainedComponentModel create_trained_component_model bzw.
create_component_model create_component_model CreateComponentModel CreateComponentModel CreateComponentModel create_component_model festgelegt worden ist.
Der Winkelbereich kann für die einzelnen Formmodelle mit
get_shape_model_params get_shape_model_params GetShapeModelParams GetShapeModelParams GetShapeModelParams get_shape_model_params abgefragt werden.
Das dazu notwendige Handle des entsprechenden Formmodells kann mit
get_component_model_params get_component_model_params GetComponentModelParams GetComponentModelParams GetComponentModelParams get_component_model_params erhalten werden.
MinScore MinScore MinScore MinScore minScore min_score :
Minimale Bewertung, die ein potentieller Match des Komoponentenmodells
erhalten muss um als Instanz zu zählen.
Falls erwartet werden kann, dass das Komponentenmodell
niemals verdeckt wird, kann MinScore MinScore MinScore MinScore minScore min_score auf so hohe Werte wie
0.8 oder sogar 0.9 gesetzt werden.
Der Wert dieses Parameters nur geringen Einfluss auf die Rechenzeit.
Ausnahme ist im Fall IfRootNotFound IfRootNotFound IfRootNotFound IfRootNotFound ifRootNotFound if_root_not_found auf
'select_new_root' "select_new_root" "select_new_root" "select_new_root" "select_new_root" "select_new_root" , siehe unten.
NumMatches NumMatches NumMatches NumMatches numMatches num_matches :
Bestimmt die maximale Anzahl zurückgegebener Instanzen.
Werden weniger Instanzen als NumMatches NumMatches NumMatches NumMatches numMatches num_matches gefunden,
werden nur diese Instanzen zurückgeliefert,
d.h. der Parameter MinScore MinScore MinScore MinScore minScore min_score hat höhere Priorität.
Werden mehr Instanzen als NumMatches NumMatches NumMatches NumMatches numMatches num_matches mit einer Bewertung
besser MinScore MinScore MinScore MinScore minScore min_score gefunden, werden nur die besten
NumMatches NumMatches NumMatches NumMatches numMatches num_matches Instanzen zurückgeliefert.
Sollen jedoch alle Modellinstanzen, deren
Bewertung MinScore MinScore MinScore MinScore minScore min_score übersteigt, im Bild gefunden werden,
muss NumMatches NumMatches NumMatches NumMatches numMatches num_matches auf 0 gesetzt werden.
MaxOverlap MaxOverlap MaxOverlap MaxOverlap maxOverlap max_overlap :
Bestimmt die maximal erlaubte Überlappung zweier Instanzen,
wobei dieser Anteil als Zahl zwischen 0 und 1 ausgedrückt wird.
In manchen Fällen kann es vorkommen, dass sich verschiedene
Instanzen nur durch die Lage einer oder weniger Komponenten
unterscheiden.
Überlappen sich zwei Instanzen um mehr als MaxOverlap MaxOverlap MaxOverlap MaxOverlap maxOverlap max_overlap ,
wird nur die bessere zurückgeliefert.
Dies bedeutet, bei MaxOverlap MaxOverlap MaxOverlap MaxOverlap maxOverlap max_overlap = 0 werden
nur Instanzen zurückgeliefert die sich überhaupt nicht überlappen,
während bei MaxOverlap MaxOverlap MaxOverlap MaxOverlap maxOverlap max_overlap = 1
keine Überprüfung der Überlappung stattfindet und alle
gefundenen Instanzen zurückgeliefert werden.
Die Berechnung der Überlappung erfolgt anhand der kleinsten
umschließenden Rechtecke beliebiger Orientierung der Konturen der
einzelnen Komponenten (siehe smallest_rectangle2 smallest_rectangle2 SmallestRectangle2 SmallestRectangle2 SmallestRectangle2 smallest_rectangle2 ).
IfRootNotFound IfRootNotFound IfRootNotFound IfRootNotFound ifRootNotFound if_root_not_found :
Steuert das Verhalten des Operators bei einem fehlenden oder stark
verdeckten Wurzelobjekt.
Mögliche Werte:
IfComponentNotFound IfComponentNotFound IfComponentNotFound IfComponentNotFound ifComponentNotFound if_component_not_found :
Bestimmt inwiefern Komponenten gesucht werden, wenn die
Vorgänger-Komponente selbst nicht gefunden wurde
(z.B. weil sie fehlt oder stark verdeckt ist).
Mögliche Werte:
'prune_branch' "prune_branch" "prune_branch" "prune_branch" "prune_branch" "prune_branch" :
Solche Komponenten werden nicht gesucht und ebenfalls als
'nicht gefunden' eingestuft.
'search_from_upper' "search_from_upper" "search_from_upper" "search_from_upper" "search_from_upper" "search_from_upper" :
Solche Komponenten werden relativ zur Lage der
Vorgänger-Komponente der Vorgänger-Komponente gesucht.
'search_from_best' "search_from_best" "search_from_best" "search_from_best" "search_from_best" "search_from_best" :
Solche Komponenten werden relativ zur Lage der bereits gefundenen Komponente
gesucht, von der aus die relative Suche mit
dem geringsten Rechenaufwand durchgeführt werden kann.
PosePrediction PosePrediction PosePrediction PosePrediction posePrediction pose_prediction :
Gibt an, ob die Lage von nicht gefundenen Komponenten nach der
Suche geschätzt werden soll.
Mögliche Werte:
'none' "none" "none" "none" "none" "none" :
Nur für die gefundenen Komponenten werden die Lagen zurückgeliefert.
'from_neighbors' "from_neighbors" "from_neighbors" "from_neighbors" "from_neighbors" "from_neighbors" :
Die Lagen der nicht gefundenen Komponenten geschätzt und mit einer
Bewertung von ScoreComp ScoreComp ScoreComp ScoreComp scoreComp score_comp = 0.0 zurückgeliefert.
Die Schätzung der Lage erfolgt auf Grundlage der Lagen gefundener
Nachbarkomponenten im Suchbaum.
'from_all' "from_all" "from_all" "from_all" "from_all" "from_all" :
Die Lagen der nicht gefundenen Komponenten geschätzt und mit einer
Bewertung von ScoreComp ScoreComp ScoreComp ScoreComp scoreComp score_comp = 0.0 zurückgeliefert.
Die Schätzung der Lage erfolgt auf Grundlage der Lagen
aller gefundenen Komponenten
MinScoreComp MinScoreComp MinScoreComp MinScoreComp minScoreComp min_score_comp :
Minimale notwendige Bewertung der Komponenten einer zu findenden Instanz.
Dieser Parameter verhält sich analog zu MinScore MinScore MinScore MinScore minScore min_score
in find_shape_model find_shape_model FindShapeModel FindShapeModel FindShapeModel find_shape_model .
Setzbar sind genau ein Wert oder dieselbe Anzahl Werte
wie Modellkomponenten in ComponentModelID ComponentModelID ComponentModelID ComponentModelID componentModelID component_model_id .
Im ersten Fall wird der Wert des Eingabeparameters für alle
Modellkomponenten verwendet.
Im zweiten Fall wird das jeweilige Element des Eingabeparameters für
die entsprechende Komponente in ComponentModelID ComponentModelID ComponentModelID ComponentModelID componentModelID component_model_id verwendet.
SubPixelComp SubPixelComp SubPixelComp SubPixelComp subPixelComp sub_pixel_comp :
Bestimmt, ob die Extraktion subpixelgenau erfolgen soll und
in gegebenem Fall die maximal zulässige Objektdeformation in Pixeln.
Dieser Parameter verhält sich analog zu SubPixel SubPixel SubPixel SubPixel subPixel sub_pixel
in find_shape_model find_shape_model FindShapeModel FindShapeModel FindShapeModel find_shape_model .
Somit ist die maximale Objektdeformation im gleichen String als
Ganzzahl anzugeben.
Setzbar sind genau ein Wert oder dieselbe Anzahl Werte
wie Modellkomponenten in ComponentModelID ComponentModelID ComponentModelID ComponentModelID componentModelID component_model_id .
Im ersten Fall wird der Wert des Eingabeparameters für alle
Modellkomponenten verwendet.
Im zweiten Fall wird das jeweilige Element des Eingabeparameters für
die entsprechende Komponente in ComponentModelID ComponentModelID ComponentModelID ComponentModelID componentModelID component_model_id verwendet.
Beispiel: ['least_squares', 'max_deformation 2'] ["least_squares", "max_deformation 2"] ["least_squares", "max_deformation 2"] ["least_squares", "max_deformation 2"] ["least_squares", "max_deformation 2"] ["least_squares", "max_deformation 2"] .
NumLevelsComp NumLevelsComp NumLevelsComp NumLevelsComp numLevelsComp num_levels_comp :
Bestimmt die verwendeten Pyramidenebenen für die Modellkomponenten.
Dieser Parameter verhält sich analog zu NumLevels NumLevels NumLevels NumLevels numLevels num_levels
in find_shape_model find_shape_model FindShapeModel FindShapeModel FindShapeModel find_shape_model .
Er bestimmt die Anzahl der verwendeten Pyramidenebenen,
die während der Suche benutzt werden.
Setzbar sind genau ein Wert oder dieselbe Anzahl Werte
wie Modellkomponenten in ComponentModelID ComponentModelID ComponentModelID ComponentModelID componentModelID component_model_id .
Im ersten Fall wird der Wert des Eingabeparameters für alle
Modellkomponenten verwendet.
Im zweiten Fall wird das jeweilige Element des Eingabeparameters für
die entsprechende Komponente in ComponentModelID ComponentModelID ComponentModelID ComponentModelID componentModelID component_model_id verwendet.
Optional kann man für diesen Parameter auch Wertepaare setzen:
Dann spezifiziert der erste Wert weiterhin die Anzahl an zu verwendende
Pyramidenebenen.
Der zweite Wert spezifiziert die unterste Pyramidenebene, bis auf welche
die Matches verfolgt werden.
Dabei kann man ein einzelnes Wertepaar für alle Komponenten angeben
oder für jede Komponente in ComponentModelID ComponentModelID ComponentModelID ComponentModelID componentModelID component_model_id ein eigenes.
Sollen für unterschiedliche Komponenten unterschiedliche Wertepaare
berücksichtigt werden, so sind diese im selben Tupel anzugeben.
Enthält ComponentModelID ComponentModelID ComponentModelID ComponentModelID componentModelID component_model_id genau zwei Komponenten und
NumLevelsComp NumLevelsComp NumLevelsComp NumLevelsComp numLevelsComp num_levels_comp zwei gesetzte Werte, so werden diese Werte als
jeweilige Anzahl zu verwendende Pyramidenebenen aufgefasst und nicht als
Wertepaar.
Beispiel: In ComponentModelID ComponentModelID ComponentModelID ComponentModelID componentModelID component_model_id sind zwei Komponenten
enthalten, für welche unterschiedliche Pyramidenebenen verwendet werden
sollen.
Für die erste Komponente sollen 5 Pyramidenebenen verwendet werden,
mit Ebene 2 als der untersten.
Für die zweite Komponente sollen 4 Pyramidenebenen verwendet werden,
mit Ebene 1 als der untersten.
Dann ist NumLevelsComp NumLevelsComp NumLevelsComp NumLevelsComp numLevelsComp num_levels_comp = [5,2,4,1] .
GreedinessComp GreedinessComp GreedinessComp GreedinessComp greedinessComp greediness_comp :
„Gierigkeit“ der Suchheuristik für die Komponenten: Wert von 0 bis 1.
Dabei bedeutet 0: sicher aber langsam,
1: schnell aber Matches können „übersehen“ werden.
Dieser Parameter verhält sich analog zu Greediness Greediness Greediness Greediness greediness greediness
in find_shape_model find_shape_model FindShapeModel FindShapeModel FindShapeModel find_shape_model .
Setzbar sind genau ein Wert oder dieselbe Anzahl Werte
wie Modellkomponenten in ComponentModelID ComponentModelID ComponentModelID ComponentModelID componentModelID component_model_id .
Im ersten Fall wird der Wert des Eingabeparameters für alle
Modellkomponenten verwendet.
Im zweiten Fall wird das jeweilige Element des Eingabeparameters für
die entsprechende Komponente in ComponentModelID ComponentModelID ComponentModelID ComponentModelID componentModelID component_model_id verwendet.
Weitere Informationen zu Ausgabeparametern
ModelStart ModelStart ModelStart ModelStart modelStart model_start und ModelEnd ModelEnd ModelEnd ModelEnd modelEnd model_end :
Geben den ersten, respektive letzten Index und damit den Indexbereich
all jener Komponentenmatches die zur selben gefundenen Instanz
des Komponentenmodells gehören
Die Komponentenmatches, die zur ersten gefundenen Instanz des
Komponentenmodells gehören, werden somit durch das Intervall an
Indizes [ModelStart ModelStart ModelStart ModelStart modelStart model_start [0],ModelEnd ModelEnd ModelEnd ModelEnd modelEnd model_end [0]] beschrieben.
Dabei beziehen sich die Indizes auf die Werte der Parameter
RowComp RowComp RowComp RowComp rowComp row_comp , ColumnComp ColumnComp ColumnComp ColumnComp columnComp column_comp , AngleComp AngleComp AngleComp AngleComp angleComp angle_comp ,
ScoreComp ScoreComp ScoreComp ScoreComp scoreComp score_comp und ModelComp ModelComp ModelComp ModelComp modelComp model_comp .
Beispiel: Das Komponentenmodell besteht aus drei Komponenten.
Auf dem Bild werden zwei Instanzen gefunden,
wobei für die zweite Instanz lediglich zwei Komponenten
(Komponente 0 und Komponente 2) gefunden werden konnten.
Dann könnten die zurückgegebenen Parameter wie folgt aussehen:
RowComp RowComp RowComp RowComp rowComp row_comp = [100,200,300,150,250]
ModelStart ModelStart ModelStart ModelStart modelStart model_start = [0,3]
ColumnComp ColumnComp ColumnComp ColumnComp columnComp column_comp = [200,210,220,400,425]
ModelEnd ModelEnd ModelEnd ModelEnd modelEnd model_end = [2,4]
AngleComp AngleComp AngleComp AngleComp angleComp angle_comp = [0,0.1,-0.2,0.1,0.2]
ModelComp ModelComp ModelComp ModelComp modelComp model_comp = [0,1,2,0,2]
ScoreComp ScoreComp ScoreComp ScoreComp scoreComp score_comp = [1,1,1,1,1]
Score Score Score Score score score = [1,1]
Aus der rechten Spalte ersichtlich, dass in der linken Spalte:
Score Score Score Score score score :
Bewertung der Instanzen des gesamten Komponentenmodells.
Score Score Score Score score score ist das gewichtete Mittel der einzelnen
Komponentenbewertungen, den Werten in ScoreComp ScoreComp ScoreComp ScoreComp scoreComp score_comp .
Dabei erfolgt die Gewichtung proportional zur Anzahl an
Modellpunkten in der jeweiligen Komponente.
RowComp RowComp RowComp RowComp rowComp row_comp , ColumnComp ColumnComp ColumnComp ColumnComp columnComp column_comp und AngleComp AngleComp AngleComp AngleComp angleComp angle_comp :
Positionen (RowComp RowComp RowComp RowComp rowComp row_comp , ColumnComp ColumnComp ColumnComp ColumnComp columnComp column_comp ) und Rotationen
(AngleComp AngleComp AngleComp AngleComp angleComp angle_comp ) der Modellkomponenten aller gefundenen
Instanzen des Komponentenmodells.
Die Koordinaten RowComp RowComp RowComp RowComp rowComp row_comp und ColumnComp ColumnComp ColumnComp ColumnComp columnComp column_comp sind die
Koordinaten des Komponenten-Ursprungs (Referenzpunkts) im
Suchbild.
Der Komponenten-Ursprung hängt davon ab, wie das Modell erzeugt wurde:
Da sich die Relationen zwischen den Komponenten in
ComponentModelID ComponentModelID ComponentModelID ComponentModelID componentModelID component_model_id auf diesen Schwerpunkt beziehen,
darf der Ursprung einer Komponente nicht mit set_shape_model_origin set_shape_model_origin SetShapeModelOrigin SetShapeModelOrigin SetShapeModelOrigin set_shape_model_origin
verändert werden.
ScoreComp ScoreComp ScoreComp ScoreComp scoreComp score_comp :
Bewertung der gefundenen Komponenteninstanzen.
Die Bewertung ist eine Zahl zwischen 0 und 1 und ist ein ungefähres Maß
dafür, welcher Anteil der Komponente im Bild zu sehen ist.
Falls z.B. die Hälfte der Komponente im Bild verdeckt ist,
kann die Bewertung nicht größer als 0.5 sein.
ModelComp ModelComp ModelComp ModelComp modelComp model_comp :
Index der gefundenen Komponenten.
Das Tupel enthält die Indizes der jeweiligen gefundenen Modellkomponenten
(siehe create_component_model create_component_model CreateComponentModel CreateComponentModel CreateComponentModel create_component_model bzw. train_model_components train_model_components TrainModelComponents TrainModelComponents TrainModelComponents train_model_components ).
Damit können die Werte in RowComp RowComp RowComp RowComp rowComp row_comp , ColumnComp ColumnComp ColumnComp ColumnComp columnComp column_comp ,
AngleComp AngleComp AngleComp AngleComp angleComp angle_comp und ScoreComp ScoreComp ScoreComp ScoreComp scoreComp score_comp den verschieden
Modellkomponenten zugeordnet werden.
Siehe auch das Beispiel bei ModelStart ModelStart ModelStart ModelStart modelStart model_start und ModelEnd ModelEnd ModelEnd ModelEnd modelEnd model_end .
Informationen zum Suchverlauf
Im Wesentlichen wird intern für die Suche der einzelnen Komponenten
das formbasierte Matching verwendet (siehe find_shape_model find_shape_model FindShapeModel FindShapeModel FindShapeModel find_shape_model ).
Der Definitionsbereich des Bildes
Image Image Image Image image image gibt den Suchbereich für den Referenzpunkt, d.h. die
erlaubte Position, der Wurzelkomponente an.
Im Normalfall wird das Komponentenmodell innerhalb des
Definitionsbereiches des Eingabebildes nur an den Stellen gesucht,
an denen das Modell vollständig in das Bild passt. Das bedeutet,
dass die Komponenten nicht gefunden werden können, wenn sie aus dem
Bild herausragen, selbst wenn sie eine Bewertung größer als
MinScoreComp MinScoreComp MinScoreComp MinScoreComp minScoreComp min_score_comp erreichen würden (siehe oben).
Außerdem kann es sein, dass das Komponentenmodell, wenn es in einer der
Pyramidenebenen den Bildrand berührt, ebenfalls nicht gefunden wird, auch
wenn es im ursprünglichen Bild vollständig enthalten ist. Als Daumenregel
gilt hier, dass das Modell dann nicht gefunden werden könnte, wenn
seine Distanz zum Bildrand unter
fällt.
Dieses Verhalten kann mit set_system('border_shape_models','true') set_system("border_shape_models","true") SetSystem("border_shape_models","true") SetSystem("border_shape_models","true") SetSystem("border_shape_models","true") set_system("border_shape_models","true")
umgestellt werden, so dass auch Komponenten gefunden werden, die aus
dem Bild herausragen, falls sie eine Bewertung größer als
MinScoreComp MinScoreComp MinScoreComp MinScoreComp minScoreComp min_score_comp 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.
Es ist weiter zu beachten, dass in seltenen Fällen, die typischerweise nur
in künstlichen Bildern auftreten, auch dann kein Modell gefunden wird, wenn
das Modell in einer Pyramidenebene die reduzierte Bilddomäne berührt. In
diesem Fall kann es helfen, die Region der Domäne um
, z.B., mit dilation_circle dilation_circle DilationCircle DilationCircle DilationCircle dilation_circle
zu vergrößern.
Beim Tracken der Matches durch die Bildpyramide werden auf jeder
Ebene Matches verworfen, die wenig vielversprechend sind. Dadurch ist
es möglich, dass Matches verworfen werden, die auf der niedrigsten
Pyramidenebene einen höheren Score gehabt hätten. Beispielsweise kann das
dazu führen, dass der gefundene Match für NumMatches NumMatches NumMatches NumMatches numMatches num_matches gleich
1 nicht mit dem Match mit dem höchsten Score übereinstimmt, der von
NumMatches NumMatches NumMatches NumMatches numMatches num_matches gleich 0 oder > 1 zurückgegeben wird.
Empfehlungen
Falls erwartet wird, dass mehrere Objekte mit einem ähnlichen Score gefunden
werden können, aber nur das Modell mit dem höchsten Score
zurückgegeben werden soll, kann es vorteilhaft sein, NumMatches NumMatches NumMatches NumMatches numMatches num_matches zu
erhöhen, und dann den Match mit dem höchsten Score auszuwählen.
Für einen aussagekräftigen Score und zum Vermeiden falscher Matches
wird empfohlen, das Erlauben einer Deformation mit einer Subpixel-Extraktion
mit einer der Least-Squares-Adjustment-Methoden zu kombinieren. Falls die
Subpixel-Extraktion und/oder die maximale Objektdeformation für jede
Komponente einzeln spezifiziert werden sollen, muss in
SubPixelComp SubPixelComp SubPixelComp SubPixelComp subPixelComp sub_pixel_comp die Subpixel-Extraktion genauso oft angegeben
werden, wie die Anzahl an Modellkomponenten in
ComponentModelID ComponentModelID ComponentModelID ComponentModelID componentModelID component_model_id . Nach jedem übergebenen Wert für die
Subpixel-Extraktion kann optional ein zweiter Wert übergeben werden,
der die maximale Objektdeformation für die jeweilige Komponente
beschreibt. Wird nach dem Wert für die Subpixel-Extraktion kein Wert
für die Objektdeformation übergeben, wird die entsprechende
Komponente ohne Deformation gesucht.
Weitere Details sind in der
Dokumentation von find_shape_models find_shape_models FindShapeModels FindShapeModels FindShapeModels find_shape_models zu finden.
Ausführungsinformationen
Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
Wird ohne Parallelisierung verarbeitet.
Parameter
Image Image Image Image image image (input_object) (multichannel-)image → object HImage HObject HImage Hobject (byte / uint2)
Eingabebild, in dem das Komponentenmodell gefunden
werden soll.
ComponentModelID ComponentModelID ComponentModelID ComponentModelID componentModelID component_model_id (input_control) component_model → HComponentModel , HTuple HHandle HTuple Htuple (handle) (IntPtr ) (HHandle ) (handle )
Handle des Komponentenmodells.
RootComponent RootComponent RootComponent RootComponent rootComponent root_component (input_control) integer(-array) → HTuple MaybeSequence[int] HTuple Htuple (integer) (int / long) (Hlong ) (Hlong )
Index der Wurzelkomponente.
Wertevorschläge: 0, 1, 2, 3, 4, 5, 6, 7, 8
AngleStartRoot AngleStartRoot AngleStartRoot AngleStartRoot angleStartRoot angle_start_root (input_control) angle.rad(-array) → HTuple MaybeSequence[float] HTuple Htuple (real) (double ) (double ) (double )
Kleinste auftretende Rotation der Wurzelkomponente
Defaultwert: -0.39
Wertevorschläge: -3.14, -1.57, -0.79, -0.39, -0.20, 0.0
AngleExtentRoot AngleExtentRoot AngleExtentRoot AngleExtentRoot angleExtentRoot angle_extent_root (input_control) angle.rad(-array) → HTuple MaybeSequence[float] HTuple Htuple (real) (double ) (double ) (double )
Ausdehnung des Winkelbereichs.
Defaultwert: 0.79
Wertevorschläge: 6.28, 3.14, 1.57, 0.79, 0.39, 0.0
Restriktion: AngleExtentRoot >= 0
MinScore MinScore MinScore MinScore minScore min_score (input_control) real → HTuple float HTuple Htuple (real) (double ) (double ) (double )
Minimale Bewertung der zu findenden Instanzen
des Komponentenmodells.
Defaultwert: 0.5
Wertevorschläge: 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0
Minimale Schrittweite: 0.01
Empfohlene Schrittweite: 0.05
Restriktion: 0 <= MinScore && MinScore <= 1
NumMatches NumMatches NumMatches NumMatches numMatches num_matches (input_control) integer → HTuple int HTuple Htuple (integer) (int / long) (Hlong ) (Hlong )
Anzahl der zu findenden Instanzen des
Komponentenmodells (oder 0 für alle Treffer).
Defaultwert: 1
Wertevorschläge: 0, 1, 2, 3, 4, 5, 10, 20
MaxOverlap MaxOverlap MaxOverlap MaxOverlap maxOverlap max_overlap (input_control) real → HTuple float HTuple Htuple (real) (double ) (double ) (double )
Maximale Überlappung der zu findenden
Instanzen des Komponentenmodells.
Defaultwert: 0.5
Wertevorschläge: 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0
Minimale Schrittweite: 0.01
Empfohlene Schrittweite: 0.05
Restriktion: 0 <= MaxOverlap && MaxOverlap <= 1
IfRootNotFound IfRootNotFound IfRootNotFound IfRootNotFound ifRootNotFound if_root_not_found (input_control) string → HTuple str HTuple Htuple (string) (string ) (HString ) (char* )
Verhalten bei fehlender Wurzelkomponente.
Defaultwert:
'stop_search'
"stop_search"
"stop_search"
"stop_search"
"stop_search"
"stop_search"
Werteliste: 'select_new_root' "select_new_root" "select_new_root" "select_new_root" "select_new_root" "select_new_root" , 'stop_search' "stop_search" "stop_search" "stop_search" "stop_search" "stop_search"
IfComponentNotFound IfComponentNotFound IfComponentNotFound IfComponentNotFound ifComponentNotFound if_component_not_found (input_control) string → HTuple str HTuple Htuple (string) (string ) (HString ) (char* )
Verhalten bei fehlenden Komponenten.
Defaultwert:
'prune_branch'
"prune_branch"
"prune_branch"
"prune_branch"
"prune_branch"
"prune_branch"
Werteliste: 'prune_branch' "prune_branch" "prune_branch" "prune_branch" "prune_branch" "prune_branch" , 'search_from_best' "search_from_best" "search_from_best" "search_from_best" "search_from_best" "search_from_best" , 'search_from_upper' "search_from_upper" "search_from_upper" "search_from_upper" "search_from_upper" "search_from_upper"
PosePrediction PosePrediction PosePrediction PosePrediction posePrediction pose_prediction (input_control) string → HTuple str HTuple Htuple (string) (string ) (HString ) (char* )
Schätzung der Lagen nicht gefundener Komponenten.
Defaultwert:
'none'
"none"
"none"
"none"
"none"
"none"
Werteliste: 'from_all' "from_all" "from_all" "from_all" "from_all" "from_all" , 'from_neighbors' "from_neighbors" "from_neighbors" "from_neighbors" "from_neighbors" "from_neighbors" , 'none' "none" "none" "none" "none" "none"
MinScoreComp MinScoreComp MinScoreComp MinScoreComp minScoreComp min_score_comp (input_control) real(-array) → HTuple MaybeSequence[float] HTuple Htuple (real) (double ) (double ) (double )
Minimale Bewertung der zu findenden Instanzen der
Komponenten.
Defaultwert: 0.5
Wertevorschläge: 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0
Minimale Schrittweite: 0.01
Empfohlene Schrittweite: 0.05
Restriktion: 0 <= MinScoreComp && MinScoreComp <= 1
SubPixelComp SubPixelComp SubPixelComp SubPixelComp subPixelComp sub_pixel_comp (input_control) string(-array) → HTuple MaybeSequence[str] HTuple Htuple (string) (string ) (HString ) (char* )
Subpixelgenauigkeit der Komponentenlagen falls
ungleich 'none' "none" "none" "none" "none" "none" .
Defaultwert:
'least_squares'
"least_squares"
"least_squares"
"least_squares"
"least_squares"
"least_squares"
Wertevorschläge: 'none' "none" "none" "none" "none" "none" , 'interpolation' "interpolation" "interpolation" "interpolation" "interpolation" "interpolation" , '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" , 'max_deformation 1' "max_deformation 1" "max_deformation 1" "max_deformation 1" "max_deformation 1" "max_deformation 1" , 'max_deformation 2' "max_deformation 2" "max_deformation 2" "max_deformation 2" "max_deformation 2" "max_deformation 2" , 'max_deformation 3' "max_deformation 3" "max_deformation 3" "max_deformation 3" "max_deformation 3" "max_deformation 3" , 'max_deformation 4' "max_deformation 4" "max_deformation 4" "max_deformation 4" "max_deformation 4" "max_deformation 4" , 'max_deformation 5' "max_deformation 5" "max_deformation 5" "max_deformation 5" "max_deformation 5" "max_deformation 5" , 'max_deformation 6' "max_deformation 6" "max_deformation 6" "max_deformation 6" "max_deformation 6" "max_deformation 6"
NumLevelsComp NumLevelsComp NumLevelsComp NumLevelsComp numLevelsComp num_levels_comp (input_control) integer(-array) → HTuple MaybeSequence[int] HTuple Htuple (integer) (int / long) (Hlong ) (Hlong )
Anzahl der verwendeten Pyramidenebenen für die
Komponenten (und
unterste zu verwendende Pyramidenebene falls
|NumLevelsComp NumLevelsComp NumLevelsComp NumLevelsComp numLevelsComp num_levels_comp | = 2 oder 2n).
Defaultwert: 0
Werteliste: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
GreedinessComp GreedinessComp GreedinessComp GreedinessComp greedinessComp greediness_comp (input_control) real(-array) → HTuple MaybeSequence[float] HTuple Htuple (real) (double ) (double ) (double )
„Gierigkeit“ der Suchheuristik für die
Komponenten.
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
Minimale Schrittweite: 0.01
Empfohlene Schrittweite: 0.05
Restriktion: 0 <= GreedinessComp && GreedinessComp <= 1
ModelStart ModelStart ModelStart ModelStart modelStart model_start (output_control) integer(-array) → HTuple Sequence[int] HTuple Htuple (integer) (int / long) (Hlong ) (Hlong )
Startindex jeder gefundenen Instanz des
Komponentenmodells auf die Tupel, die die
Komponentenmatches beschreiben.
ModelEnd ModelEnd ModelEnd ModelEnd modelEnd model_end (output_control) integer(-array) → HTuple Sequence[int] HTuple Htuple (integer) (int / long) (Hlong ) (Hlong )
Endindex jeder gefundenen Instanz des
Komponentenmodells auf die Tupel, die die
Komponentenmatches beschreiben.
Score Score Score Score score score (output_control) real(-array) → HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Bewertung der gefunden Instanzen des
Komponentenmodells.
RowComp RowComp RowComp RowComp rowComp row_comp (output_control) point.y(-array) → HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Zeilenkoordinate der gefundenen Komponentenmatches.
ColumnComp ColumnComp ColumnComp ColumnComp columnComp column_comp (output_control) point.x(-array) → HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Spaltenkoordinate der gefundenen Komponentenmatches.
AngleComp AngleComp AngleComp AngleComp angleComp angle_comp (output_control) angle.rad(-array) → HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Rotationswinkel der gefundenen Komponentenmatches.
ScoreComp ScoreComp ScoreComp ScoreComp scoreComp score_comp (output_control) real(-array) → HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Bewertung der gefundenen Komponentenmatches.
ModelComp ModelComp ModelComp ModelComp modelComp model_comp (output_control) integer(-array) → HTuple Sequence[int] HTuple Htuple (integer) (int / long) (Hlong ) (Hlong )
Index der gefundenen Komponenten.
Ergebnis
Sind die Parameterwerte korrekt, dann liefert
find_component_model find_component_model FindComponentModel FindComponentModel FindComponentModel find_component_model den Wert TRUE. Das Verhalten bei
leerer Eingabe (keine Eingabebild 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.
Vorgänger
create_trained_component_model create_trained_component_model CreateTrainedComponentModel CreateTrainedComponentModel CreateTrainedComponentModel create_trained_component_model ,
create_component_model create_component_model CreateComponentModel CreateComponentModel CreateComponentModel create_component_model ,
read_component_model read_component_model ReadComponentModel ReadComponentModel ReadComponentModel read_component_model
Nachfolger
get_found_component_model get_found_component_model GetFoundComponentModel GetFoundComponentModel GetFoundComponentModel get_found_component_model
Alternativen
find_shape_models find_shape_models FindShapeModels FindShapeModels FindShapeModels find_shape_models
Siehe auch
find_shape_model find_shape_model FindShapeModel FindShapeModel FindShapeModel find_shape_model ,
find_shape_models find_shape_models FindShapeModels FindShapeModels FindShapeModels find_shape_models ,
get_shape_model_params get_shape_model_params GetShapeModelParams GetShapeModelParams GetShapeModelParams get_shape_model_params ,
get_component_model_params get_component_model_params GetComponentModelParams GetComponentModelParams GetComponentModelParams get_component_model_params ,
train_model_components train_model_components TrainModelComponents TrainModelComponents TrainModelComponents train_model_components ,
set_shape_model_origin set_shape_model_origin SetShapeModelOrigin SetShapeModelOrigin SetShapeModelOrigin set_shape_model_origin ,
smallest_rectangle2 smallest_rectangle2 SmallestRectangle2 SmallestRectangle2 SmallestRectangle2 smallest_rectangle2
Modul
Matching