create_component_model T_create_component_model CreateComponentModel CreateComponentModel create_component_model (Operator)
Name
create_component_model T_create_component_model CreateComponentModel CreateComponentModel create_component_model — Vorbereiten eines Komponentenmodells für das Matching auf der Basis
explizit vorgegebener Komponenten und Relationen.
Signatur
create_component_model (ModelImage , ComponentRegions : : VariationRow , VariationColumn , VariationAngle , AngleStart , AngleExtent , ContrastLowComp , ContrastHighComp , MinSizeComp , MinContrastComp , MinScoreComp , NumLevelsComp , AngleStepComp , OptimizationComp , MetricComp , PregenerationComp : ComponentModelID , RootRanking )
Herror T_create_component_model (const Hobject ModelImage , const Hobject ComponentRegions , const Htuple VariationRow , const Htuple VariationColumn , const Htuple VariationAngle , const Htuple AngleStart , const Htuple AngleExtent , const Htuple ContrastLowComp , const Htuple ContrastHighComp , const Htuple MinSizeComp , const Htuple MinContrastComp , const Htuple MinScoreComp , const Htuple NumLevelsComp , const Htuple AngleStepComp , const Htuple OptimizationComp , const Htuple MetricComp , const Htuple PregenerationComp , Htuple* ComponentModelID , Htuple* RootRanking )
void CreateComponentModel (const HObject& ModelImage , const HObject& ComponentRegions , const HTuple& VariationRow , const HTuple& VariationColumn , const HTuple& VariationAngle , const HTuple& AngleStart , const HTuple& AngleExtent , const HTuple& ContrastLowComp , const HTuple& ContrastHighComp , const HTuple& MinSizeComp , const HTuple& MinContrastComp , const HTuple& MinScoreComp , const HTuple& NumLevelsComp , const HTuple& AngleStepComp , const HTuple& OptimizationComp , const HTuple& MetricComp , const HTuple& PregenerationComp , HTuple* ComponentModelID , HTuple* RootRanking )
void HComponentModel ::HComponentModel (const HImage& ModelImage , const HRegion& ComponentRegions , const HTuple& VariationRow , const HTuple& VariationColumn , const HTuple& VariationAngle , double AngleStart , double AngleExtent , const HTuple& ContrastLowComp , const HTuple& ContrastHighComp , const HTuple& MinSizeComp , const HTuple& MinContrastComp , const HTuple& MinScoreComp , const HTuple& NumLevelsComp , const HTuple& AngleStepComp , const HString& OptimizationComp , const HTuple& MetricComp , const HTuple& PregenerationComp , HTuple* RootRanking )
void HComponentModel ::HComponentModel (const HImage& ModelImage , const HRegion& ComponentRegions , Hlong VariationRow , Hlong VariationColumn , double VariationAngle , double AngleStart , double AngleExtent , Hlong ContrastLowComp , Hlong ContrastHighComp , Hlong MinSizeComp , Hlong MinContrastComp , double MinScoreComp , Hlong NumLevelsComp , double AngleStepComp , const HString& OptimizationComp , const HString& MetricComp , const HString& PregenerationComp , Hlong* RootRanking )
void HComponentModel ::HComponentModel (const HImage& ModelImage , const HRegion& ComponentRegions , Hlong VariationRow , Hlong VariationColumn , double VariationAngle , double AngleStart , double AngleExtent , Hlong ContrastLowComp , Hlong ContrastHighComp , Hlong MinSizeComp , Hlong MinContrastComp , double MinScoreComp , Hlong NumLevelsComp , double AngleStepComp , const char* OptimizationComp , const char* MetricComp , const char* PregenerationComp , Hlong* RootRanking )
void HComponentModel ::HComponentModel (const HImage& ModelImage , const HRegion& ComponentRegions , Hlong VariationRow , Hlong VariationColumn , double VariationAngle , double AngleStart , double AngleExtent , Hlong ContrastLowComp , Hlong ContrastHighComp , Hlong MinSizeComp , Hlong MinContrastComp , double MinScoreComp , Hlong NumLevelsComp , double AngleStepComp , const wchar_t* OptimizationComp , const wchar_t* MetricComp , const wchar_t* PregenerationComp , Hlong* RootRanking )
(Nur Windows)
HTuple HComponentModel ::CreateComponentModel (const HImage& ModelImage , const HRegion& ComponentRegions , const HTuple& VariationRow , const HTuple& VariationColumn , const HTuple& VariationAngle , double AngleStart , double AngleExtent , const HTuple& ContrastLowComp , const HTuple& ContrastHighComp , const HTuple& MinSizeComp , const HTuple& MinContrastComp , const HTuple& MinScoreComp , const HTuple& NumLevelsComp , const HTuple& AngleStepComp , const HString& OptimizationComp , const HTuple& MetricComp , const HTuple& PregenerationComp )
Hlong HComponentModel ::CreateComponentModel (const HImage& ModelImage , const HRegion& ComponentRegions , Hlong VariationRow , Hlong VariationColumn , double VariationAngle , double AngleStart , double AngleExtent , Hlong ContrastLowComp , Hlong ContrastHighComp , Hlong MinSizeComp , Hlong MinContrastComp , double MinScoreComp , Hlong NumLevelsComp , double AngleStepComp , const HString& OptimizationComp , const HString& MetricComp , const HString& PregenerationComp )
Hlong HComponentModel ::CreateComponentModel (const HImage& ModelImage , const HRegion& ComponentRegions , Hlong VariationRow , Hlong VariationColumn , double VariationAngle , double AngleStart , double AngleExtent , Hlong ContrastLowComp , Hlong ContrastHighComp , Hlong MinSizeComp , Hlong MinContrastComp , double MinScoreComp , Hlong NumLevelsComp , double AngleStepComp , const char* OptimizationComp , const char* MetricComp , const char* PregenerationComp )
Hlong HComponentModel ::CreateComponentModel (const HImage& ModelImage , const HRegion& ComponentRegions , Hlong VariationRow , Hlong VariationColumn , double VariationAngle , double AngleStart , double AngleExtent , Hlong ContrastLowComp , Hlong ContrastHighComp , Hlong MinSizeComp , Hlong MinContrastComp , double MinScoreComp , Hlong NumLevelsComp , double AngleStepComp , const wchar_t* OptimizationComp , const wchar_t* MetricComp , const wchar_t* PregenerationComp )
(Nur Windows)
HComponentModel HImage ::CreateComponentModel (const HRegion& ComponentRegions , const HTuple& VariationRow , const HTuple& VariationColumn , const HTuple& VariationAngle , double AngleStart , double AngleExtent , const HTuple& ContrastLowComp , const HTuple& ContrastHighComp , const HTuple& MinSizeComp , const HTuple& MinContrastComp , const HTuple& MinScoreComp , const HTuple& NumLevelsComp , const HTuple& AngleStepComp , const HString& OptimizationComp , const HTuple& MetricComp , const HTuple& PregenerationComp , HTuple* RootRanking ) const
HComponentModel HImage ::CreateComponentModel (const HRegion& ComponentRegions , Hlong VariationRow , Hlong VariationColumn , double VariationAngle , double AngleStart , double AngleExtent , Hlong ContrastLowComp , Hlong ContrastHighComp , Hlong MinSizeComp , Hlong MinContrastComp , double MinScoreComp , Hlong NumLevelsComp , double AngleStepComp , const HString& OptimizationComp , const HString& MetricComp , const HString& PregenerationComp , Hlong* RootRanking ) const
HComponentModel HImage ::CreateComponentModel (const HRegion& ComponentRegions , Hlong VariationRow , Hlong VariationColumn , double VariationAngle , double AngleStart , double AngleExtent , Hlong ContrastLowComp , Hlong ContrastHighComp , Hlong MinSizeComp , Hlong MinContrastComp , double MinScoreComp , Hlong NumLevelsComp , double AngleStepComp , const char* OptimizationComp , const char* MetricComp , const char* PregenerationComp , Hlong* RootRanking ) const
HComponentModel HImage ::CreateComponentModel (const HRegion& ComponentRegions , Hlong VariationRow , Hlong VariationColumn , double VariationAngle , double AngleStart , double AngleExtent , Hlong ContrastLowComp , Hlong ContrastHighComp , Hlong MinSizeComp , Hlong MinContrastComp , double MinScoreComp , Hlong NumLevelsComp , double AngleStepComp , const wchar_t* OptimizationComp , const wchar_t* MetricComp , const wchar_t* PregenerationComp , Hlong* RootRanking ) const
(Nur Windows)
static void HOperatorSet .CreateComponentModel (HObject modelImage , HObject componentRegions , HTuple variationRow , HTuple variationColumn , HTuple variationAngle , HTuple angleStart , HTuple angleExtent , HTuple contrastLowComp , HTuple contrastHighComp , HTuple minSizeComp , HTuple minContrastComp , HTuple minScoreComp , HTuple numLevelsComp , HTuple angleStepComp , HTuple optimizationComp , HTuple metricComp , HTuple pregenerationComp , out HTuple componentModelID , out HTuple rootRanking )
public HComponentModel (HImage modelImage , HRegion componentRegions , HTuple variationRow , HTuple variationColumn , HTuple variationAngle , double angleStart , double angleExtent , HTuple contrastLowComp , HTuple contrastHighComp , HTuple minSizeComp , HTuple minContrastComp , HTuple minScoreComp , HTuple numLevelsComp , HTuple angleStepComp , string optimizationComp , HTuple metricComp , HTuple pregenerationComp , out HTuple rootRanking )
public HComponentModel (HImage modelImage , HRegion componentRegions , int variationRow , int variationColumn , double variationAngle , double angleStart , double angleExtent , int contrastLowComp , int contrastHighComp , int minSizeComp , int minContrastComp , double minScoreComp , int numLevelsComp , double angleStepComp , string optimizationComp , string metricComp , string pregenerationComp , out int rootRanking )
HTuple HComponentModel .CreateComponentModel (HImage modelImage , HRegion componentRegions , HTuple variationRow , HTuple variationColumn , HTuple variationAngle , double angleStart , double angleExtent , HTuple contrastLowComp , HTuple contrastHighComp , HTuple minSizeComp , HTuple minContrastComp , HTuple minScoreComp , HTuple numLevelsComp , HTuple angleStepComp , string optimizationComp , HTuple metricComp , HTuple pregenerationComp )
int HComponentModel .CreateComponentModel (HImage modelImage , HRegion componentRegions , int variationRow , int variationColumn , double variationAngle , double angleStart , double angleExtent , int contrastLowComp , int contrastHighComp , int minSizeComp , int minContrastComp , double minScoreComp , int numLevelsComp , double angleStepComp , string optimizationComp , string metricComp , string pregenerationComp )
HComponentModel HImage .CreateComponentModel (HRegion componentRegions , HTuple variationRow , HTuple variationColumn , HTuple variationAngle , double angleStart , double angleExtent , HTuple contrastLowComp , HTuple contrastHighComp , HTuple minSizeComp , HTuple minContrastComp , HTuple minScoreComp , HTuple numLevelsComp , HTuple angleStepComp , string optimizationComp , HTuple metricComp , HTuple pregenerationComp , out HTuple rootRanking )
HComponentModel HImage .CreateComponentModel (HRegion componentRegions , int variationRow , int variationColumn , double variationAngle , double angleStart , double angleExtent , int contrastLowComp , int contrastHighComp , int minSizeComp , int minContrastComp , double minScoreComp , int numLevelsComp , double angleStepComp , string optimizationComp , string metricComp , string pregenerationComp , out int rootRanking )
def create_component_model (model_image : HObject, component_regions : HObject, variation_row : MaybeSequence[int], variation_column : MaybeSequence[int], variation_angle : MaybeSequence[float], angle_start : float, angle_extent : float, contrast_low_comp : MaybeSequence[Union[int, str]], contrast_high_comp : MaybeSequence[Union[int, str]], min_size_comp : MaybeSequence[Union[int, str]], min_contrast_comp : MaybeSequence[Union[int, str]], min_score_comp : MaybeSequence[float], num_levels_comp : MaybeSequence[Union[int, str]], angle_step_comp : MaybeSequence[Union[float, str]], optimization_comp : str, metric_comp : MaybeSequence[str], pregeneration_comp : MaybeSequence[str]) -> Tuple[HHandle, Sequence[int]]
def create_component_model_s (model_image : HObject, component_regions : HObject, variation_row : MaybeSequence[int], variation_column : MaybeSequence[int], variation_angle : MaybeSequence[float], angle_start : float, angle_extent : float, contrast_low_comp : MaybeSequence[Union[int, str]], contrast_high_comp : MaybeSequence[Union[int, str]], min_size_comp : MaybeSequence[Union[int, str]], min_contrast_comp : MaybeSequence[Union[int, str]], min_score_comp : MaybeSequence[float], num_levels_comp : MaybeSequence[Union[int, str]], angle_step_comp : MaybeSequence[Union[float, str]], optimization_comp : str, metric_comp : MaybeSequence[str], pregeneration_comp : MaybeSequence[str]) -> Tuple[HHandle, int]
Beschreibung
create_component_model create_component_model CreateComponentModel CreateComponentModel CreateComponentModel create_component_model bereitet Muster, die in Form eines
Modellbildes ModelImage ModelImage ModelImage ModelImage modelImage model_image und mehrerer Regionen
ComponentRegions ComponentRegions ComponentRegions ComponentRegions componentRegions component_regions übergeben werden, als Komponentenmodell
für das Matching vor. Der Ausgabeparameter ComponentModelID ComponentModelID ComponentModelID ComponentModelID componentModelID component_model_id
ist ein Handle für dieses Modell, der in nachfolgenden Aufrufen von
find_component_model find_component_model FindComponentModel FindComponentModel FindComponentModel find_component_model verwendet wird. Im Gegensatz zu
create_trained_component_model create_trained_component_model CreateTrainedComponentModel CreateTrainedComponentModel CreateTrainedComponentModel create_trained_component_model ist ein mit
train_model_components train_model_components TrainModelComponents TrainModelComponents TrainModelComponents train_model_components durchgeführtes Training zum Aufruf
von create_component_model create_component_model CreateComponentModel CreateComponentModel CreateComponentModel create_component_model nicht erforderlich.
Jede der in ComponentRegions ComponentRegions ComponentRegions ComponentRegions componentRegions component_regions übergebenen Regionen
beschreibt eine separate Modellkomponente. In nachfolgenden
Operatoren wird der Index einer Komponenten in
ComponentRegions ComponentRegions ComponentRegions ComponentRegions componentRegions component_regions verwendet, um die Modellkomponente zu
bezeichnen. Der Referenzpunkt einer Modellkomponente ist festgelegt
durch den Schwerpunkt der in ComponentRegions ComponentRegions ComponentRegions ComponentRegions componentRegions component_regions übergebenen
Region und kann mit area_center area_center AreaCenter AreaCenter AreaCenter area_center ermittelt werden.
Die relativen Bewegungen (Relationen) zwischen den einzelnen
Modellkomponenten können mit Hilfe der Parameter
VariationRow VariationRow VariationRow VariationRow variationRow variation_row , VariationColumn VariationColumn VariationColumn VariationColumn variationColumn variation_column und
VariationAngle VariationAngle VariationAngle VariationAngle variationAngle variation_angle festgelegt werden. Da eine direkte Angabe
der Relationen sehr aufwendig ist, werden anstatt der Relationen die
Variationen der Modellkomponenten übergeben. Die Variationen
beschreiben die Bewegungen der Komponenten unabhängig voneinander
relativ zu deren Lagen im Modellbild ModelImage ModelImage ModelImage ModelImage modelImage model_image . Dabei
beschreiben die Parameter VariationRow VariationRow VariationRow VariationRow variationRow variation_row und
VariationColumn VariationColumn VariationColumn VariationColumn variationColumn variation_column die Bewegung der Komponenten in Zeilen- und
Spaltenrichtung um
und
. Der
Parameter VariationAngle VariationAngle VariationAngle VariationAngle variationAngle variation_angle beschreibt die Winkelbewegung der
Komponente um
.
Aus diesen Angaben werden die Relationen zwischen den Komponenten
automatisch berechnet. Die drei Parameter müssen entweder genau ein
Element enthalten oder dieselbe Anzahl von Elementen wie
ComponentRegions ComponentRegions ComponentRegions ComponentRegions componentRegions component_regions . Im ersten Fall wird der Wert des
Eingabeparameters für alle Modellkomponenten gleich verwendet. Im
zweiten Fall wird das jeweilige Element des Eingabeparameters für
die entsprechende Modellkomponente in ComponentRegions ComponentRegions ComponentRegions ComponentRegions componentRegions component_regions
verwendet.
Die Parameter AngleStart AngleStart AngleStart AngleStart angleStart angle_start und AngleExtent AngleExtent AngleExtent AngleExtent angleExtent angle_extent legen den
Winkelbereich für die möglichen Rotationen des Komponentenmodells im
Bild fest.
Im Wesentlichen wird intern für jede Modellkomponente ein separates
Formmodell erzeugt (siehe create_shape_model create_shape_model CreateShapeModel CreateShapeModel CreateShapeModel create_shape_model ). Daher
entsprechen die Parameter ContrastLowComp ContrastLowComp ContrastLowComp ContrastLowComp contrastLowComp contrast_low_comp ,
ContrastHighComp ContrastHighComp ContrastHighComp ContrastHighComp contrastHighComp contrast_high_comp , MinSizeComp MinSizeComp MinSizeComp MinSizeComp minSizeComp min_size_comp ,
MinContrastComp MinContrastComp MinContrastComp MinContrastComp minContrastComp min_contrast_comp , MinScoreComp MinScoreComp MinScoreComp MinScoreComp minScoreComp min_score_comp ,
NumLevelsComp NumLevelsComp NumLevelsComp NumLevelsComp numLevelsComp num_levels_comp , AngleStepComp AngleStepComp AngleStepComp AngleStepComp angleStepComp angle_step_comp ,
OptimizationComp OptimizationComp OptimizationComp OptimizationComp optimizationComp optimization_comp , MetricComp MetricComp MetricComp MetricComp metricComp metric_comp und
PregenerationComp PregenerationComp PregenerationComp PregenerationComp pregenerationComp pregeneration_comp den Parametern in
create_shape_model create_shape_model CreateShapeModel CreateShapeModel CreateShapeModel create_shape_model mit folgenden Unterschieden: Im Parameter
Contrast Contrast Contrast Contrast contrast contrast von create_shape_model create_shape_model CreateShapeModel CreateShapeModel CreateShapeModel create_shape_model kann sowohl der
obere, als auch der untere Schwellenwert für das
Hysterese-Schwellenwert-Verfahren übergeben werden. Zusätzlich kann
ein dritter Wert angegeben werden, der die Unterdrückung kleiner
zusammenhängender Konturregionen ermöglicht. Der Operator
create_component_model create_component_model CreateComponentModel CreateComponentModel CreateComponentModel create_component_model bietet dagegen zum Einstellen dieser
drei Werte drei separate Parameter ContrastHighComp ContrastHighComp ContrastHighComp ContrastHighComp contrastHighComp contrast_high_comp ,
ContrastLowComp ContrastLowComp ContrastLowComp ContrastLowComp contrastLowComp contrast_low_comp und MinScoreComp MinScoreComp MinScoreComp MinScoreComp minScoreComp min_score_comp . Daraus ergibt
sich für die automatische Bestimmung der Kontrastwerte folgender
Unterschied: Sollen beide Hysterese-Schwellen automatisch bestimmt
werden, so müssen sowohl ContrastLowComp ContrastLowComp ContrastLowComp ContrastLowComp contrastLowComp contrast_low_comp als auch
ContrastHighComp ContrastHighComp ContrastHighComp ContrastHighComp contrastHighComp contrast_high_comp jeweils auf 'auto' "auto" "auto" "auto" "auto" "auto" gesetzt
werden. Soll dagegen lediglich ein Kontrastwert automatisch
bestimmt werden, so muss ContrastLowComp ContrastLowComp ContrastLowComp ContrastLowComp contrastLowComp contrast_low_comp auf
'auto' "auto" "auto" "auto" "auto" "auto" und ContrastHighComp ContrastHighComp ContrastHighComp ContrastHighComp contrastHighComp contrast_high_comp auf einen beliebigen
Wert ungleich 'auto' "auto" "auto" "auto" "auto" "auto" gesetzt werden. Im Parameter
Optimization Optimization Optimization Optimization optimization optimization von create_shape_model create_shape_model CreateShapeModel CreateShapeModel CreateShapeModel create_shape_model kann neben
einer möglichen Reduktion der Modellpunkte auch entschieden werden,
ob das Formmodell vollständig vorab generiert wird oder nicht. Der
Operator create_trained_component_model create_trained_component_model CreateTrainedComponentModel CreateTrainedComponentModel CreateTrainedComponentModel create_trained_component_model bietet dagegen für
die Vorabgenerierung der Formmodelle einen separaten Parameter
PregenerationComp PregenerationComp PregenerationComp PregenerationComp pregenerationComp pregeneration_comp . Ein dritter Unterschied bezieht sich auf
den Parameter MinScoreComp MinScoreComp MinScoreComp MinScoreComp minScoreComp min_score_comp , der beim formbasierten Matching
nicht bereits beim Vorbereiten des Modells mit
create_shape_model create_shape_model CreateShapeModel CreateShapeModel CreateShapeModel create_shape_model sondern erst bei der Suche mit
find_shape_model find_shape_model FindShapeModel FindShapeModel FindShapeModel find_shape_model übergeben wird. Beim Vorbereiten des
Komponentenmodells ist es jedoch vorteilhaft, auftretende
Rotationssymmetrien der Modellkomponenten und Ähnlichkeiten zwischen
den Modellkomponenten zu analysieren und beim Aufbau des
Komponentenmodells zu berücksichtigen. Diese Analyse kann jedoch nur
dann zu sinnvollen Ergebnissen führen, wenn der zur Suche verwendete
Wert für MinScoreComp MinScoreComp MinScoreComp MinScoreComp minScoreComp min_score_comp (siehe find_component_model find_component_model FindComponentModel FindComponentModel FindComponentModel find_component_model )
bereits annähernd bekannt ist.
Neben den Parametern ContrastLowComp ContrastLowComp ContrastLowComp ContrastLowComp contrastLowComp contrast_low_comp ,
ContrastHighComp ContrastHighComp ContrastHighComp ContrastHighComp contrastHighComp contrast_high_comp und MinSizeComp MinSizeComp MinSizeComp MinSizeComp minSizeComp min_size_comp können auch die
Parameter MinContrastComp MinContrastComp MinContrastComp MinContrastComp minContrastComp min_contrast_comp , NumLevelsComp NumLevelsComp NumLevelsComp NumLevelsComp numLevelsComp num_levels_comp ,
AngleStepComp AngleStepComp AngleStepComp AngleStepComp angleStepComp angle_step_comp und OptimizationComp OptimizationComp OptimizationComp OptimizationComp optimizationComp optimization_comp jeweils durch
die Angabe von 'auto' "auto" "auto" "auto" "auto" "auto" automatisch ermittelt werden.
Alle komponentenspezifischen Eingabeparameter (Parameternamen enden
jeweils auf Comp) müssen entweder genau ein Element
enthalten oder dieselbe Anzahl von Elementen wie
ComponentRegions ComponentRegions ComponentRegions ComponentRegions componentRegions component_regions . Im ersten Fall wird der Wert des
Eingabeparameters für alle Modellkomponenten gleich verwendet. Im
zweiten Fall wird das jeweilige Element des Eingabeparameters für
die entsprechende Modellkomponente in ComponentRegions ComponentRegions ComponentRegions ComponentRegions componentRegions component_regions
verwendet.
Das Komponentenmodell enthält neben den einzelnen Formmodellen auch
die Information über die Art und Weise, wie die einzelnen
Modellkomponenten mit find_component_model find_component_model FindComponentModel FindComponentModel FindComponentModel find_component_model relativ
zueinander gesucht werden müssen, damit die Rechenzeit während der
Suche minimal ist. Dabei werden die Komponenten durch eine
Baumstruktur repräsentiert. Zunächst wird die Komponente, die an der
Wurzel des Baumes (Wurzelkomponente) steht, gesucht. Anschließend
werden die übrigen Komponenten jeweils relativ zur Lage ihres
Vorgängers im Baum gesucht.
Die Wurzelkomponente kann bei der Suche mit find_component_model find_component_model FindComponentModel FindComponentModel FindComponentModel find_component_model als
Parameter übergeben werden. 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. Auch
die mit der Wurzelkomponente verbundene Rechenzeit während der Suche kann als
Auswahlkriterium herangezogen werden. Eine nach diesem Kriterium sortierte
Rangfolge der Modellkomponenten wird im Parameter RootRanking RootRanking RootRanking RootRanking rootRanking root_ranking
zurückgeliefert. In diesem Parameter sind die Indizes der Modellkomponenten
nach der mit ihnen verbundenen Suchzeit aufsteigend sortiert, d.h.
RootRanking RootRanking RootRanking RootRanking rootRanking root_ranking [0] enthält den Index der Modellkomponente, die - als
Wurzelkomponente gewählt - die schnellste Suche ermöglicht. Die in
RootRanking RootRanking RootRanking RootRanking rootRanking root_ranking ermittelte Reihenfolge stellt jedoch nur eine grobe
Abschätzung dar. Die Abschätzung setzt außerdem voraus, dass sowohl die
Bildgröße als auch der Wert des Systemparameters
'border_shape_models' "border_shape_models" "border_shape_models" "border_shape_models" "border_shape_models" "border_shape_models" beim Aufruf von create_component_model create_component_model CreateComponentModel CreateComponentModel CreateComponentModel create_component_model
und find_component_model find_component_model FindComponentModel FindComponentModel FindComponentModel find_component_model identisch sind.
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.
Dieser Operator liefert ein Handle zurück. Es ist zu beachten, dass der Zustand einer Instanz dieses Handletyps durch bestimmte Operatoren geändert werden kann, obwohl das Handle als Eingabeparameter in diesen Operatoren verwendet wird.
Parameter
ModelImage ModelImage ModelImage ModelImage modelImage model_image (input_object) (multichannel-)image → object HImage HObject HImage Hobject (byte / uint2)
Eingabebild, aus dem die Formmodelle für die
Modellkomponenten generiert werden sollen.
ComponentRegions ComponentRegions ComponentRegions ComponentRegions componentRegions component_regions (input_object) region-array → object HRegion HObject HRegion Hobject
Eingaberegionen, aus denen die Formmodelle
für die Modellkomponenten generiert werden sollen.
VariationRow VariationRow VariationRow VariationRow variationRow variation_row (input_control) integer(-array) → HTuple MaybeSequence[int] HTuple Htuple (integer) (int / long) (Hlong ) (Hlong )
Variation der Modellkomponenten in Zeilenrichtung.
Wertevorschläge: 0, 1, 2, 3, 4, 5, 10, 20, 30, 40, 50, 100, 150
Restriktion: VariationRow >= 0
VariationColumn VariationColumn VariationColumn VariationColumn variationColumn variation_column (input_control) integer(-array) → HTuple MaybeSequence[int] HTuple Htuple (integer) (int / long) (Hlong ) (Hlong )
Variation der Modellkomponenten in Spaltenrichtung.
Wertevorschläge: 0, 1, 2, 3, 4, 5, 10, 20, 30, 40, 50, 100, 150
Restriktion: VariationColumn >= 0
VariationAngle VariationAngle VariationAngle VariationAngle variationAngle variation_angle (input_control) angle.rad(-array) → HTuple MaybeSequence[float] HTuple Htuple (real) (double ) (double ) (double )
Winkel-Variation der Modellkomponenten.
Wertevorschläge: 0.0, 0.017, 0.035, 0.05, 0.07, 0.09, 0.17, 0.35, 0.52, 0.67, 0.87
Restriktion: VariationAngle >= 0
AngleStart AngleStart AngleStart AngleStart angleStart angle_start (input_control) angle.rad → HTuple float HTuple Htuple (real) (double ) (double ) (double )
Kleinste auftretende Rotation des Komponentenmodells.
Defaultwert: -0.39
Wertevorschläge: -3.14, -1.57, -0.79, -0.39, -0.20, 0.0
AngleExtent AngleExtent AngleExtent AngleExtent angleExtent angle_extent (input_control) angle.rad → HTuple float HTuple Htuple (real) (double ) (double ) (double )
Ausdehnung des Winkelbereichs des Komponentenmodells.
Defaultwert: 0.79
Wertevorschläge: 6.28, 3.14, 1.57, 0.79, 0.39
Restriktion: AngleExtent >= 0
ContrastLowComp ContrastLowComp ContrastLowComp ContrastLowComp contrastLowComp contrast_low_comp (input_control) integer(-array) → HTuple MaybeSequence[Union[int, str]] HTuple Htuple (integer / string) (int / long / string) (Hlong / HString) (Hlong / char*)
Unterer Hystereseschwellenwert für den Kontrast der
Komponenten im Modellbild.
Defaultwert:
'auto'
"auto"
"auto"
"auto"
"auto"
"auto"
Wertevorschläge: 'auto' "auto" "auto" "auto" "auto" "auto" , 10, 20, 30, 40, 60, 80, 100, 120, 140, 160
Restriktion: ContrastLowComp > 0
ContrastHighComp ContrastHighComp ContrastHighComp ContrastHighComp contrastHighComp contrast_high_comp (input_control) integer(-array) → HTuple MaybeSequence[Union[int, str]] HTuple Htuple (integer / string) (int / long / string) (Hlong / HString) (Hlong / char*)
Oberer Hystereseschwellenwert für den Kontrast der
Komponenten im Modellbild.
Defaultwert:
'auto'
"auto"
"auto"
"auto"
"auto"
"auto"
Wertevorschläge: 'auto' "auto" "auto" "auto" "auto" "auto" , 10, 20, 30, 40, 60, 80, 100, 120, 140, 160
Restriktion: ContrastHighComp > 0 && ContrastHighComp >= ContrastLowComp
MinSizeComp MinSizeComp MinSizeComp MinSizeComp minSizeComp min_size_comp (input_control) integer(-array) → HTuple MaybeSequence[Union[int, str]] HTuple Htuple (integer / string) (int / long / string) (Hlong / HString) (Hlong / char*)
Mindestgröße der Konturregionen im Modell.
Defaultwert:
'auto'
"auto"
"auto"
"auto"
"auto"
"auto"
Wertevorschläge: 'auto' "auto" "auto" "auto" "auto" "auto" , 0, 5, 10, 20, 30, 40
Restriktion: MinSizeComp >= 0
MinContrastComp MinContrastComp MinContrastComp MinContrastComp minContrastComp min_contrast_comp (input_control) integer(-array) → HTuple MaybeSequence[Union[int, str]] HTuple Htuple (integer / string) (int / long / string) (Hlong / HString) (Hlong / char*)
Minimaler Kontrast der Komponenten in den Suchbildern.
Defaultwert:
'auto'
"auto"
"auto"
"auto"
"auto"
"auto"
Wertevorschläge: 'auto' "auto" "auto" "auto" "auto" "auto" , 10, 20, 20, 40
Restriktion: MinContrastComp <= ContrastLowComp && MinContrastComp >= 0
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
NumLevelsComp NumLevelsComp NumLevelsComp NumLevelsComp numLevelsComp num_levels_comp (input_control) integer(-array) → HTuple MaybeSequence[Union[int, str]] HTuple Htuple (integer / string) (int / long / string) (Hlong / HString) (Hlong / char*)
Maximale Anzahl von Pyramidenebenen für die
Komponenten.
Defaultwert:
'auto'
"auto"
"auto"
"auto"
"auto"
"auto"
Werteliste: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 'auto' "auto" "auto" "auto" "auto" "auto"
AngleStepComp AngleStepComp AngleStepComp AngleStepComp angleStepComp angle_step_comp (input_control) angle.rad(-array) → HTuple MaybeSequence[Union[float, str]] HTuple Htuple (real / string) (double / string) (double / HString) (double / char*)
Schrittweite der Winkel (Auflösung) für die
Komponenten.
Defaultwert:
'auto'
"auto"
"auto"
"auto"
"auto"
"auto"
Wertevorschläge: 'auto' "auto" "auto" "auto" "auto" "auto" , 0.0175, 0.0349, 0.0524, 0.0698, 0.0873
Restriktion: AngleStepComp >= 0
OptimizationComp OptimizationComp OptimizationComp OptimizationComp optimizationComp optimization_comp (input_control) string → HTuple str HTuple Htuple (string) (string ) (HString ) (char* )
Art der Optimierung für die Komponenten.
Defaultwert:
'auto'
"auto"
"auto"
"auto"
"auto"
"auto"
Werteliste: 'auto' "auto" "auto" "auto" "auto" "auto" , 'none' "none" "none" "none" "none" "none" , 'point_reduction_high' "point_reduction_high" "point_reduction_high" "point_reduction_high" "point_reduction_high" "point_reduction_high" , 'point_reduction_low' "point_reduction_low" "point_reduction_low" "point_reduction_low" "point_reduction_low" "point_reduction_low" , 'point_reduction_medium' "point_reduction_medium" "point_reduction_medium" "point_reduction_medium" "point_reduction_medium" "point_reduction_medium"
MetricComp MetricComp MetricComp MetricComp metricComp metric_comp (input_control) string(-array) → HTuple MaybeSequence[str] HTuple Htuple (string) (string ) (HString ) (char* )
Art der zum Matchen der Komponenten verwendeten Metrik.
Defaultwert:
'use_polarity'
"use_polarity"
"use_polarity"
"use_polarity"
"use_polarity"
"use_polarity"
Werteliste: 'ignore_color_polarity' "ignore_color_polarity" "ignore_color_polarity" "ignore_color_polarity" "ignore_color_polarity" "ignore_color_polarity" , 'ignore_global_polarity' "ignore_global_polarity" "ignore_global_polarity" "ignore_global_polarity" "ignore_global_polarity" "ignore_global_polarity" , 'ignore_local_polarity' "ignore_local_polarity" "ignore_local_polarity" "ignore_local_polarity" "ignore_local_polarity" "ignore_local_polarity" , 'use_polarity' "use_polarity" "use_polarity" "use_polarity" "use_polarity" "use_polarity"
PregenerationComp PregenerationComp PregenerationComp PregenerationComp pregenerationComp pregeneration_comp (input_control) string(-array) → HTuple MaybeSequence[str] HTuple Htuple (string) (string ) (HString ) (char* )
Komplette Vorabgenerierung der Formmodelle für die
Komponenten falls 'true' "true" "true" "true" "true" "true" .
Defaultwert:
'false'
"false"
"false"
"false"
"false"
"false"
Werteliste: 'false' "false" "false" "false" "false" "false" , 'true' "true" "true" "true" "true" "true"
ComponentModelID ComponentModelID ComponentModelID ComponentModelID componentModelID component_model_id (output_control) component_model → HComponentModel , HTuple HHandle HTuple Htuple (handle) (IntPtr ) (HHandle ) (handle )
Handle des Komponentenmodells.
RootRanking RootRanking RootRanking RootRanking rootRanking root_ranking (output_control) integer(-array) → HTuple Sequence[int] HTuple Htuple (integer) (int / long) (Hlong ) (Hlong )
Reihenfolge der Modellkomponenten, die deren
Eignung als Wurzelkomponente zu fungieren ausdrückt.
Beispiel (HDevelop)
* Read the model image.
read_image (ModelImage, 'model_image.tif')
* Describe the model components.
gen_rectangle2 (ComponentRegions, 318, 109, -1.62, 34, 19)
gen_rectangle2 (Rectangle2, 342, 238, -1.63, 32, 17)
gen_rectangle2 (Rectangle3, 355, 505, 1.41, 25, 17)
concat_obj (ComponentRegions, Rectangle2, ComponentRegions)
concat_obj (ComponentRegions, Rectangle3, ComponentRegions)
* Create the component model by explicitly specifying the relations.
create_component_model (ModelImage, ComponentRegions, 20, 20, rad(25), 0, \
rad(360), 15, 40, 15, 10, 0.8, 'auto', 'auto', \
'none', 'use_polarity', 'false', ComponentModelID, \
RootRanking)
* Find the component model in a run-time image.
read_image (SearchImage, 'search_image.tif')
find_component_model (SearchImage, ComponentModelID, RootRanking, 0, \
rad(360), 0.5, 0, 0.5, 'stop_search', \
'search_from_best', 'none', 0.8, 'least_squares', 0, \
0.8, ModelStart, ModelEnd, Score, RowComp, \
ColumnComp, AngleComp, ScoreComp, ModelComp)
Ergebnis
Sind die Parameterwerte korrekt, dann liefert
create_component_model create_component_model CreateComponentModel CreateComponentModel CreateComponentModel create_component_model den Wert TRUE. Gegebenenfalls
wird eine Fehlerbehandlung durchgeführt.
Vorgänger
draw_region draw_region DrawRegion DrawRegion DrawRegion draw_region ,
concat_obj concat_obj ConcatObj ConcatObj ConcatObj concat_obj
Nachfolger
find_component_model find_component_model FindComponentModel FindComponentModel FindComponentModel find_component_model
Alternativen
create_trained_component_model create_trained_component_model CreateTrainedComponentModel CreateTrainedComponentModel CreateTrainedComponentModel create_trained_component_model
Siehe auch
create_shape_model create_shape_model CreateShapeModel CreateShapeModel CreateShapeModel create_shape_model ,
find_shape_model find_shape_model FindShapeModel FindShapeModel FindShapeModel find_shape_model
Modul
Matching