KlassenKlassenKlassenKlassen | | | | Operatoren

determine_ncc_model_paramsT_determine_ncc_model_paramsDetermineNccModelParamsdetermine_ncc_model_paramsDetermineNccModelParamsDetermineNccModelParams (Operator)

Name

determine_ncc_model_paramsT_determine_ncc_model_paramsDetermineNccModelParamsdetermine_ncc_model_paramsDetermineNccModelParamsDetermineNccModelParams — Berechnung der Parameter eines NCC-Modells.

Signatur

determine_ncc_model_params(Template : : NumLevels, AngleStart, AngleExtent, Metric, Parameters : ParameterName, ParameterValue)

Herror T_determine_ncc_model_params(const Hobject Template, const Htuple NumLevels, const Htuple AngleStart, const Htuple AngleExtent, const Htuple Metric, const Htuple Parameters, Htuple* ParameterName, Htuple* ParameterValue)

Herror determine_ncc_model_params(Hobject Template, const HTuple& NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& Metric, const HTuple& Parameters, HTuple* ParameterName, HTuple* ParameterValue)

HTuple HNCCModel::DetermineNccModelParams(const HImage& Template, const HTuple& NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& Metric, const HTuple& Parameters, HTuple* ParameterValue)

void DetermineNccModelParams(const HObject& Template, const HTuple& NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& Metric, const HTuple& Parameters, HTuple* ParameterName, HTuple* ParameterValue)

static HTuple HNCCModel::DetermineNccModelParams(const HImage& Template, const HTuple& NumLevels, double AngleStart, double AngleExtent, const HString& Metric, const HTuple& Parameters, HTuple* ParameterValue)

static HTuple HNCCModel::DetermineNccModelParams(const HImage& Template, Hlong NumLevels, double AngleStart, double AngleExtent, const HString& Metric, const HString& Parameters, HTuple* ParameterValue)

static HTuple HNCCModel::DetermineNccModelParams(const HImage& Template, Hlong NumLevels, double AngleStart, double AngleExtent, const char* Metric, const char* Parameters, HTuple* ParameterValue)

void HOperatorSetX.DetermineNccModelParams(
[in] IHUntypedObjectX* Template, [in] VARIANT NumLevels, [in] VARIANT AngleStart, [in] VARIANT AngleExtent, [in] VARIANT Metric, [in] VARIANT Parameters, [out] VARIANT* ParameterName, [out] VARIANT* ParameterValue)

VARIANT HNCCModelX.DetermineNccModelParams(
[in] IHImageX* Template, [in] VARIANT NumLevels, [in] double AngleStart, [in] double AngleExtent, [in] BSTR Metric, [in] VARIANT Parameters, [out] VARIANT* ParameterValue)

static void HOperatorSet.DetermineNccModelParams(HObject template, HTuple numLevels, HTuple angleStart, HTuple angleExtent, HTuple metric, HTuple parameters, out HTuple parameterName, out HTuple parameterValue)

static HTuple HNCCModel.DetermineNccModelParams(HImage template, HTuple numLevels, double angleStart, double angleExtent, string metric, HTuple parameters, out HTuple parameterValue)

static HTuple HNCCModel.DetermineNccModelParams(HImage template, int numLevels, double angleStart, double angleExtent, string metric, string parameters, out HTuple parameterValue)

Beschreibung

determine_ncc_model_paramsdetermine_ncc_model_paramsDetermineNccModelParamsdetermine_ncc_model_paramsDetermineNccModelParamsDetermineNccModelParams berechnet bestimmte Parameter eines NCC-Modells automatisch aus dem Modellbild TemplateTemplateTemplateTemplateTemplatetemplate. Die zu berechnenden Parameter werden in ParametersParametersParametersParametersParametersparameters angegeben. Mit determine_ncc_model_paramsdetermine_ncc_model_paramsDetermineNccModelParamsdetermine_ncc_model_paramsDetermineNccModelParamsDetermineNccModelParams lassen sich dieselben Parameter automatisch bestimmen, die auch mit create_ncc_modelcreate_ncc_modelCreateNccModelcreate_ncc_modelCreateNccModelCreateNccModel durch Setzen des jeweiligen Parameters auf 'auto'"auto""auto""auto""auto""auto" automatisch bestimmt werden können: die Anzahl der Pyramidenebenen des Modells (ParametersParametersParametersParametersParametersparameters = 'num_levels'"num_levels""num_levels""num_levels""num_levels""num_levels") und/oder die Winkelschrittweite (ParametersParametersParametersParametersParametersparameters = 'angle_step'"angle_step""angle_step""angle_step""angle_step""angle_step"). Es kann eine beliebige Kombination dieser Parameter bestimmt werden, indem ein Tupel von Werten in ParametersParametersParametersParametersParametersparameters übergeben wird. Falls alle Parameter automatisch bestimmt werden sollen, kann zur Vereinfachung auch der Wert 'all'"all""all""all""all""all" übergeben werden.

determine_ncc_model_paramsdetermine_ncc_model_paramsDetermineNccModelParamsdetermine_ncc_model_paramsDetermineNccModelParamsDetermineNccModelParams kann hauptsächlich dazu verwendet werden, die obigen Parameter automatisch zu bestimmen, bevor das Modell erzeugt wird. Dies ist vor allem in interaktiven Systemen nützlich, in denen dem Benutzer ein Vorschlag für diese Werte präsentiert wird, die der Benutzer aber modifizieren kann.

Die berechneten Parameter werden in ParameterNameParameterNameParameterNameParameterNameParameterNameparameterName und ParameterValueParameterValueParameterValueParameterValueParameterValueparameterValue als Name des Parameters und als jeweiliger Wert zurückgeliefert. Dabei haben die Parameter in ParameterNameParameterNameParameterNameParameterNameParameterNameparameterName dieselben Namen wie in ParametersParametersParametersParametersParametersparameters, wobei natürlich der Wert 'all'"all""all""all""all""all" durch die entsprechenden Parameternamen ersetzt wird.

Die Eingabeparameter (NumLevelsNumLevelsNumLevelsNumLevelsNumLevelsnumLevels, AngleStartAngleStartAngleStartAngleStartAngleStartangleStart, AngleExtentAngleExtentAngleExtentAngleExtentAngleExtentangleExtent und MetricMetricMetricMetricMetricmetric) haben dieselbe Bedeutung wie bei create_ncc_modelcreate_ncc_modelCreateNccModelcreate_ncc_modelCreateNccModelCreateNccModel. Die Beschreibung der Parameter kann dort nachgelesen werden. Diese Parameter werden von determine_ncc_model_paramsdetermine_ncc_model_paramsDetermineNccModelParamsdetermine_ncc_model_paramsDetermineNccModelParamsDetermineNccModelParams dazu verwendet, die zu bestimmenden Parameter auf dieselbe Art zu berechnen wie in create_ncc_modelcreate_ncc_modelCreateNccModelcreate_ncc_modelCreateNccModelCreateNccModel.

Zu beachten ist, dass determine_ncc_model_paramsdetermine_ncc_model_paramsDetermineNccModelParamsdetermine_ncc_model_paramsDetermineNccModelParamsDetermineNccModelParams den Eingabeparameter NumLevelsNumLevelsNumLevelsNumLevelsNumLevelsnumLevels auch automatisch bestimmen kann. Falls dieser Parameter nicht automatisch bestimmt werden soll, d.h. der Name wird nicht in ParametersParametersParametersParametersParametersparameters übergeben, muss für den Parameter ein zulässiger Wert übergeben werden. Insbesondere darf der Parameter nicht auf 'auto'"auto""auto""auto""auto""auto" gesetzt sein. Soll die Anzahl an Pyramidenebenen automatisch bestimmt werden, d.h. ParametersParametersParametersParametersParametersparameters enthält den Wert 'num_levels'"num_levels""num_levels""num_levels""num_levels""num_levels", dann kann HALCON zwar einen geeigneten Wert ermitteln, zusätzlich besteht jedoch die Möglichkeit, eine obere Grenze anzugeben:

Falls die maximale Anzahl der Pyramidenstufen vorgegeben werden soll, kann der Eingabeparameter NumLevelsNumLevelsNumLevelsNumLevelsNumLevelsnumLevels auf den betreffenden Wert gesetzt werden. Falls in diesem Fall ParametersParametersParametersParametersParametersparameters den Wert 'num_levels'"num_levels""num_levels""num_levels""num_levels""num_levels" enthält, kann der berechnete Wert der Anzahl der Pyramidenebenen höchstens NumLevelsNumLevelsNumLevelsNumLevelsNumLevelsnumLevels betragen. Falls NumLevelsNumLevelsNumLevelsNumLevelsNumLevelsnumLevels = 'auto'"auto""auto""auto""auto""auto" oder 0 gesetzt wird, wird die Anzahl der Pyramidenebenen ohne Beschränkung so hoch wie möglich bestimmt.

Parallelisierung

Parameter

TemplateTemplateTemplateTemplateTemplatetemplate (input_object)  singlechannelimage objectHImageHImageHImageHImageXHobject (byte / uint2)

Eingabebild, dessen Definitionsbereich für das Modell verwendet wird.

NumLevelsNumLevelsNumLevelsNumLevelsNumLevelsnumLevels (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer / string) (int / long / string) (Hlong / HString) (Hlong / char*) (Hlong / BSTR) (Hlong / char*)

Maximale Anzahl von Pyramidenebenen.

Defaultwert: 'auto' "auto" "auto" "auto" "auto" "auto"

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

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

Kleinste auftretende Rotation des Modells.

Defaultwert: -0.39

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

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

Ausdehnung des Winkelbereichs.

Defaultwert: 0.79

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

Restriktion: AngleExtent >= 0

MetricMetricMetricMetricMetricmetric (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Art der zum Matchen verwendeten Metrik.

Defaultwert: 'use_polarity' "use_polarity" "use_polarity" "use_polarity" "use_polarity" "use_polarity"

Werteliste: 'ignore_global_polarity'"ignore_global_polarity""ignore_global_polarity""ignore_global_polarity""ignore_global_polarity""ignore_global_polarity", 'use_polarity'"use_polarity""use_polarity""use_polarity""use_polarity""use_polarity"

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

Zu berechnende Parameter.

Defaultwert: 'all' "all" "all" "all" "all" "all"

Werteliste: 'all'"all""all""all""all""all", 'angle_step'"angle_step""angle_step""angle_step""angle_step""angle_step", 'num_levels'"num_levels""num_levels""num_levels""num_levels""num_levels"

ParameterNameParameterNameParameterNameParameterNameParameterNameparameterName (output_control)  string-array HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Name des berechneten Parameters.

ParameterValueParameterValueParameterValueParameterValueParameterValueparameterValue (output_control)  number-array HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Wert des berechneten Parameters.

Ergebnis

Sind die Parameterwerte korrekt, dann liefert determine_ncc_model_paramsdetermine_ncc_model_paramsDetermineNccModelParamsdetermine_ncc_model_paramsDetermineNccModelParamsDetermineNccModelParams den Wert 2 (H_MSG_TRUE).

Nachfolger

create_ncc_modelcreate_ncc_modelCreateNccModelcreate_ncc_modelCreateNccModelCreateNccModel

Siehe auch

find_ncc_modelfind_ncc_modelFindNccModelfind_ncc_modelFindNccModelFindNccModel

Modul

Matching


KlassenKlassenKlassenKlassen | | | | Operatoren