KlassenKlassenKlassenKlassen | | | | Operatoren

create_trained_component_modelcreate_trained_component_modelCreateTrainedComponentModelcreate_trained_component_modelCreateTrainedComponentModelCreateTrainedComponentModel (Operator)

Name

create_trained_component_modelcreate_trained_component_modelCreateTrainedComponentModelcreate_trained_component_modelCreateTrainedComponentModelCreateTrainedComponentModel — Vorbereiten eines Komponentenmodells für das Matching auf der Basis trainierter Komponenten.

Signatur

create_trained_component_model( : : ComponentTrainingID, AngleStart, AngleExtent, MinContrastComp, MinScoreComp, NumLevelsComp, AngleStepComp, OptimizationComp, MetricComp, PregenerationComp : ComponentModelID, RootRanking)

Herror create_trained_component_model(const Hlong ComponentTrainingID, double AngleStart, double AngleExtent, const Hlong MinContrastComp, double MinScoreComp, const Hlong NumLevelsComp, double AngleStepComp, const char* OptimizationComp, const char* MetricComp, const char* PregenerationComp, Hlong* ComponentModelID, Hlong* RootRanking)

Herror T_create_trained_component_model(const Htuple ComponentTrainingID, const Htuple AngleStart, const Htuple AngleExtent, 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)

Herror create_trained_component_model(const HTuple& ComponentTrainingID, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& MinContrastComp, const HTuple& MinScoreComp, const HTuple& NumLevelsComp, const HTuple& AngleStepComp, const HTuple& OptimizationComp, const HTuple& MetricComp, const HTuple& PregenerationComp, Hlong* ComponentModelID, Hlong* RootRanking)

Herror create_trained_component_model(const HTuple& ComponentTrainingID, const HTuple& AngleStart, const HTuple& AngleExtent, 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)

HTuple HComponentModel::CreateTrainedComponentModel(const HComponentTraining& ComponentTrainingID, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& MinContrastComp, const HTuple& MinScoreComp, const HTuple& NumLevelsComp, const HTuple& AngleStepComp, const HTuple& OptimizationComp, const HTuple& MetricComp, const HTuple& PregenerationComp)

HComponentModel HComponentTraining::CreateTrainedComponentModel(const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& MinContrastComp, const HTuple& MinScoreComp, const HTuple& NumLevelsComp, const HTuple& AngleStepComp, const HTuple& OptimizationComp, const HTuple& MetricComp, const HTuple& PregenerationComp, HTuple* RootRanking) const

void CreateTrainedComponentModel(const HTuple& ComponentTrainingID, const HTuple& AngleStart, const HTuple& AngleExtent, 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)

HComponentModel HComponentTraining::CreateTrainedComponentModel(double AngleStart, double AngleExtent, 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 HComponentTraining::CreateTrainedComponentModel(double AngleStart, double AngleExtent, Hlong MinContrastComp, double MinScoreComp, Hlong NumLevelsComp, double AngleStepComp, const HString& OptimizationComp, const HString& MetricComp, const HString& PregenerationComp, Hlong* RootRanking) const

HComponentModel HComponentTraining::CreateTrainedComponentModel(double AngleStart, double AngleExtent, Hlong MinContrastComp, double MinScoreComp, Hlong NumLevelsComp, double AngleStepComp, const char* OptimizationComp, const char* MetricComp, const char* PregenerationComp, Hlong* RootRanking) const

void HComponentModel::HComponentModel(const HComponentTraining& ComponentTrainingID, double AngleStart, double AngleExtent, 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 HComponentTraining& ComponentTrainingID, double AngleStart, double AngleExtent, Hlong MinContrastComp, double MinScoreComp, Hlong NumLevelsComp, double AngleStepComp, const HString& OptimizationComp, const HString& MetricComp, const HString& PregenerationComp, Hlong* RootRanking)

void HComponentModel::HComponentModel(const HComponentTraining& ComponentTrainingID, double AngleStart, double AngleExtent, Hlong MinContrastComp, double MinScoreComp, Hlong NumLevelsComp, double AngleStepComp, const char* OptimizationComp, const char* MetricComp, const char* PregenerationComp, Hlong* RootRanking)

HTuple HComponentModel::CreateTrainedComponentModel(const HComponentTraining& ComponentTrainingID, double AngleStart, double AngleExtent, const HTuple& MinContrastComp, const HTuple& MinScoreComp, const HTuple& NumLevelsComp, const HTuple& AngleStepComp, const HString& OptimizationComp, const HTuple& MetricComp, const HTuple& PregenerationComp)

Hlong HComponentModel::CreateTrainedComponentModel(const HComponentTraining& ComponentTrainingID, double AngleStart, double AngleExtent, Hlong MinContrastComp, double MinScoreComp, Hlong NumLevelsComp, double AngleStepComp, const HString& OptimizationComp, const HString& MetricComp, const HString& PregenerationComp)

Hlong HComponentModel::CreateTrainedComponentModel(const HComponentTraining& ComponentTrainingID, double AngleStart, double AngleExtent, Hlong MinContrastComp, double MinScoreComp, Hlong NumLevelsComp, double AngleStepComp, const char* OptimizationComp, const char* MetricComp, const char* PregenerationComp)

void HOperatorSetX.CreateTrainedComponentModel(
[in] VARIANT ComponentTrainingID, [in] VARIANT AngleStart, [in] VARIANT AngleExtent, [in] VARIANT MinContrastComp, [in] VARIANT MinScoreComp, [in] VARIANT NumLevelsComp, [in] VARIANT AngleStepComp, [in] VARIANT OptimizationComp, [in] VARIANT MetricComp, [in] VARIANT PregenerationComp, [out] VARIANT* ComponentModelID, [out] VARIANT* RootRanking)

IHComponentModelX* HComponentTrainingX.CreateTrainedComponentModel(
[in] double AngleStart, [in] double AngleExtent, [in] VARIANT MinContrastComp, [in] VARIANT MinScoreComp, [in] VARIANT NumLevelsComp, [in] VARIANT AngleStepComp, [in] BSTR OptimizationComp, [in] VARIANT MetricComp, [in] VARIANT PregenerationComp, [out] VARIANT* RootRanking)

VARIANT HComponentModelX.CreateTrainedComponentModel(
[in] IHComponentTrainingX* ComponentTrainingID, [in] double AngleStart, [in] double AngleExtent, [in] VARIANT MinContrastComp, [in] VARIANT MinScoreComp, [in] VARIANT NumLevelsComp, [in] VARIANT AngleStepComp, [in] BSTR OptimizationComp, [in] VARIANT MetricComp, [in] VARIANT PregenerationComp)

static void HOperatorSet.CreateTrainedComponentModel(HTuple componentTrainingID, HTuple angleStart, HTuple angleExtent, HTuple minContrastComp, HTuple minScoreComp, HTuple numLevelsComp, HTuple angleStepComp, HTuple optimizationComp, HTuple metricComp, HTuple pregenerationComp, out HTuple componentModelID, out HTuple rootRanking)

HComponentModel HComponentTraining.CreateTrainedComponentModel(double angleStart, double angleExtent, HTuple minContrastComp, HTuple minScoreComp, HTuple numLevelsComp, HTuple angleStepComp, string optimizationComp, HTuple metricComp, HTuple pregenerationComp, out HTuple rootRanking)

HComponentModel HComponentTraining.CreateTrainedComponentModel(double angleStart, double angleExtent, int minContrastComp, double minScoreComp, int numLevelsComp, double angleStepComp, string optimizationComp, string metricComp, string pregenerationComp, out int rootRanking)

public HComponentModel(HComponentTraining componentTrainingID, double angleStart, double angleExtent, HTuple minContrastComp, HTuple minScoreComp, HTuple numLevelsComp, HTuple angleStepComp, string optimizationComp, HTuple metricComp, HTuple pregenerationComp, out HTuple rootRanking)

public HComponentModel(HComponentTraining componentTrainingID, double angleStart, double angleExtent, int minContrastComp, double minScoreComp, int numLevelsComp, double angleStepComp, string optimizationComp, string metricComp, string pregenerationComp, out int rootRanking)

HTuple HComponentModel.CreateTrainedComponentModel(HComponentTraining componentTrainingID, double angleStart, double angleExtent, HTuple minContrastComp, HTuple minScoreComp, HTuple numLevelsComp, HTuple angleStepComp, string optimizationComp, HTuple metricComp, HTuple pregenerationComp)

int HComponentModel.CreateTrainedComponentModel(HComponentTraining componentTrainingID, double angleStart, double angleExtent, int minContrastComp, double minScoreComp, int numLevelsComp, double angleStepComp, string optimizationComp, string metricComp, string pregenerationComp)

Beschreibung

create_trained_component_modelcreate_trained_component_modelCreateTrainedComponentModelcreate_trained_component_modelCreateTrainedComponentModelCreateTrainedComponentModel bereitet das Trainingsergebnis, das in ComponentTrainingIDComponentTrainingIDComponentTrainingIDComponentTrainingIDComponentTrainingIDcomponentTrainingID übergeben wird, als Komponentenmodell für das Matching vor. Der Ausgabeparameter ComponentModelIDComponentModelIDComponentModelIDComponentModelIDComponentModelIDcomponentModelID ist ein Handle für dieses Modell, der in nachfolgenden Aufrufen von find_component_modelfind_component_modelFindComponentModelfind_component_modelFindComponentModelFindComponentModel verwendet wird. Im Gegensatz zu create_component_modelcreate_component_modelCreateComponentModelcreate_component_modelCreateComponentModelCreateComponentModel müssen die Modellkomponenten mit train_model_componentstrain_model_componentsTrainModelComponentstrain_model_componentsTrainModelComponentsTrainModelComponents trainiert worden sein bevor create_trained_component_modelcreate_trained_component_modelCreateTrainedComponentModelcreate_trained_component_modelCreateTrainedComponentModelCreateTrainedComponentModel aufgerufen werden kann.

Die Parameter AngleStartAngleStartAngleStartAngleStartAngleStartangleStart und AngleExtentAngleExtentAngleExtentAngleExtentAngleExtentangleExtent 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_modelcreate_shape_modelCreateShapeModelcreate_shape_modelCreateShapeModelCreateShapeModel). Daher entsprechen die Parameter MinContrastCompMinContrastCompMinContrastCompMinContrastCompMinContrastCompminContrastComp, MinScoreCompMinScoreCompMinScoreCompMinScoreCompMinScoreCompminScoreComp, NumLevelsCompNumLevelsCompNumLevelsCompNumLevelsCompNumLevelsCompnumLevelsComp, AngleStepCompAngleStepCompAngleStepCompAngleStepCompAngleStepCompangleStepComp, OptimizationCompOptimizationCompOptimizationCompOptimizationCompOptimizationCompoptimizationComp, MetricCompMetricCompMetricCompMetricCompMetricCompmetricComp und PregenerationCompPregenerationCompPregenerationCompPregenerationCompPregenerationComppregenerationComp den Parametern in create_shape_modelcreate_shape_modelCreateShapeModelcreate_shape_modelCreateShapeModelCreateShapeModel mit den folgenden Unterschieden: Im Parameter OptimizationOptimizationOptimizationOptimizationOptimizationoptimization von create_shape_modelcreate_shape_modelCreateShapeModelcreate_shape_modelCreateShapeModelCreateShapeModel 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_modelcreate_trained_component_modelCreateTrainedComponentModelcreate_trained_component_modelCreateTrainedComponentModelCreateTrainedComponentModel bietet dagegen für die Vorabgenerierung der Formmodelle einen separaten Parameter PregenerationCompPregenerationCompPregenerationCompPregenerationCompPregenerationComppregenerationComp. Ein zweiter Unterschied bezieht sich auf den Parameter MinScoreCompMinScoreCompMinScoreCompMinScoreCompMinScoreCompminScoreComp, der beim formbasierten Matching nicht bereits beim Vorbereiten des Modells mit create_shape_modelcreate_shape_modelCreateShapeModelcreate_shape_modelCreateShapeModelCreateShapeModel sondern erst bei der Suche mit find_shape_modelfind_shape_modelFindShapeModelfind_shape_modelFindShapeModelFindShapeModel ü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 MinScoreCompMinScoreCompMinScoreCompMinScoreCompMinScoreCompminScoreComp (siehe find_component_modelfind_component_modelFindComponentModelfind_component_modelFindComponentModelFindComponentModel) bereits annähernd bekannt ist. Die von find_component_modelfind_component_modelFindComponentModelfind_component_modelFindComponentModelFindComponentModel ermittelten Lagekoordinaten der Modellkomponenten in einem Suchbild beziehen sich auf deren Referenzpunkt. Der Referenzpunkt einer Modellkomponente ist festgelegt durch den Schwerpunkt der entsprechenden von train_model_componentstrain_model_componentsTrainModelComponentstrain_model_componentsTrainModelComponentsTrainModelComponents in ModelComponentsModelComponentsModelComponentsModelComponentsModelComponentsmodelComponents zurückgelieferten Region.

Die Parameter MinContrastCompMinContrastCompMinContrastCompMinContrastCompMinContrastCompminContrastComp, NumLevelsCompNumLevelsCompNumLevelsCompNumLevelsCompNumLevelsCompnumLevelsComp, AngleStepCompAngleStepCompAngleStepCompAngleStepCompAngleStepCompangleStepComp und OptimizationCompOptimizationCompOptimizationCompOptimizationCompOptimizationCompoptimizationComp können 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 in ComponentTrainingIDComponentTrainingIDComponentTrainingIDComponentTrainingIDComponentTrainingIDcomponentTrainingID enthaltene Modellkomponenten. 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 ComponentTrainingIDComponentTrainingIDComponentTrainingIDComponentTrainingIDComponentTrainingIDcomponentTrainingID verwendet.

Das Komponentenmodell enthält neben den einzelnen Formmodellen auch die Information über die Art und Weise, wie die einzelnen Modellkomponenten mit find_component_modelfind_component_modelFindComponentModelfind_component_modelFindComponentModelFindComponentModel 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_modelfind_component_modelFindComponentModelfind_component_modelFindComponentModelFindComponentModel 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 RootRankingRootRankingRootRankingRootRankingRootRankingrootRanking zurückgeliefert. In diesem Parameter sind die Indizes der Modellkomponenten nach der mit ihnen verbundenen Rechenzeit aufsteigend sortiert, d.h. RootRankingRootRankingRootRankingRootRankingRootRankingrootRanking[0] enthält den Index der Modellkomponente, die - als Wurzelkomponente gewählt - die schnellste Suche ermöglicht. Die in RootRankingRootRankingRootRankingRootRankingRootRankingrootRanking 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_trained_component_modelcreate_trained_component_modelCreateTrainedComponentModelcreate_trained_component_modelCreateTrainedComponentModelCreateTrainedComponentModel und find_component_modelfind_component_modelFindComponentModelfind_component_modelFindComponentModelFindComponentModel identisch sind.

Parallelisierung

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

ComponentTrainingIDComponentTrainingIDComponentTrainingIDComponentTrainingIDComponentTrainingIDcomponentTrainingID (input_control)  component_training HComponentTraining, HTupleHTupleHComponentTraining, HTupleHComponentTrainingX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Handle des Trainingsergebnisses.

AngleStartAngleStartAngleStartAngleStartAngleStartangleStart (input_control)  angle.rad HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (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

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

Ausdehnung des Winkelbereichs.

Defaultwert: 0.79

Wertevorschläge: 6.28, 3.14, 1.57, 0.79, 0.39

Restriktion: AngleExtent >= 0

MinContrastCompMinContrastCompMinContrastCompMinContrastCompMinContrastCompminContrastComp (input_control)  integer(-array) HTupleHTupleHTupleVARIANTHtuple (integer / string) (int / long / string) (Hlong / HString) (Hlong / char*) (Hlong / BSTR) (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 >= 0

MinScoreCompMinScoreCompMinScoreCompMinScoreCompMinScoreCompminScoreComp (input_control)  real(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (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

NumLevelsCompNumLevelsCompNumLevelsCompNumLevelsCompNumLevelsCompnumLevelsComp (input_control)  integer(-array) HTupleHTupleHTupleVARIANTHtuple (integer / string) (int / long / string) (Hlong / HString) (Hlong / char*) (Hlong / BSTR) (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"

AngleStepCompAngleStepCompAngleStepCompAngleStepCompAngleStepCompangleStepComp (input_control)  angle.rad(-array) HTupleHTupleHTupleVARIANTHtuple (real / string) (double / string) (double / HString) (double / char*) (double / BSTR) (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

OptimizationCompOptimizationCompOptimizationCompOptimizationCompOptimizationCompoptimizationComp (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (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"

MetricCompMetricCompMetricCompMetricCompMetricCompmetricComp (input_control)  string(-array) HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (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"

PregenerationCompPregenerationCompPregenerationCompPregenerationCompPregenerationComppregenerationComp (input_control)  string(-array) HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (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"

ComponentModelIDComponentModelIDComponentModelIDComponentModelIDComponentModelIDcomponentModelID (output_control)  component_model HComponentModel, HTupleHTupleHComponentModel, HTupleHComponentModelX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Handle des Komponentenmodells.

RootRankingRootRankingRootRankingRootRankingRootRankingrootRanking (output_control)  integer(-array) HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Reihenfolge der Modellkomponenten, die deren Eignung als Wurzelkomponente zu fungieren ausdrückt.

Beispiel (HDevelop)

* Get the model image.
read_image (ModelImage, 'model_image.tif')
* Define the regions for the initial components.
gen_rectangle2 (InitialComponentRegions, 212, 233, 0.62, 167, 29)
gen_rectangle2 (Rectangle2, 298, 363, 1.17, 162, 34)
gen_rectangle2 (Rectangle3, 63, 444, -0.26, 50, 27)
gen_rectangle2 (Rectangle4, 120, 473, 0, 33, 20)
concat_obj (InitialComponentRegions, Rectangle2, InitialComponentRegions)
concat_obj (InitialComponentRegions, Rectangle3, InitialComponentRegions)
concat_obj (InitialComponentRegions, Rectangle4, InitialComponentRegions)
* Get the training images.
gen_empty_obj (TrainingImages)
for i := 1 to 4 by 1
    read_image (TrainingImage, 'training_image-'+i+'.tif')
    concat_obj (TrainingImages, TrainingImage, TrainingImages)
endfor
* Extract the model components and train the relations.
train_model_components (ModelImage, InitialComponentRegions, \
                        TrainingImages, ModelComponents, 22, 60, 30, 0.65, \
                        0, 0, rad(60), 'speed', 'rigidity', 0.2, 0.4, \
                        ComponentTrainingID)
* Create the component model based on the training result.
create_trained_component_model (ComponentTrainingID, -rad(30), rad(60), 10, \
                                0.5, '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, -rad(30), \
                      rad(60), 0.5, 0, 0.5, 'stop_search', 'prune_branch', \
                      'none', 0.55, 'least_squares', 0, 0.9, ModelStart, \
                      ModelEnd, Score, RowComp, ColumnComp, AngleComp, \
                      ScoreComp, ModelComp)

Ergebnis

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

Vorgänger

train_model_componentstrain_model_componentsTrainModelComponentstrain_model_componentsTrainModelComponentsTrainModelComponents, read_training_componentsread_training_componentsReadTrainingComponentsread_training_componentsReadTrainingComponentsReadTrainingComponents

Nachfolger

find_component_modelfind_component_modelFindComponentModelfind_component_modelFindComponentModelFindComponentModel

Alternativen

create_component_modelcreate_component_modelCreateComponentModelcreate_component_modelCreateComponentModelCreateComponentModel

Siehe auch

create_shape_modelcreate_shape_modelCreateShapeModelcreate_shape_modelCreateShapeModelCreateShapeModel, find_shape_modelfind_shape_modelFindShapeModelfind_shape_modelFindShapeModelFindShapeModel

Modul

Matching


KlassenKlassenKlassenKlassen | | | | Operatoren