determine_ncc_model_paramsT_determine_ncc_model_paramsDetermineNccModelParamsDetermineNccModelParams (Operator)

Name

determine_ncc_model_paramsT_determine_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)

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)

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

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_paramsDetermineNccModelParamsDetermineNccModelParamsDetermineNccModelParams berechnet bestimmte Parameter eines NCC-Modells automatisch aus dem Modellbild TemplateTemplateTemplateTemplatetemplate. Die zu berechnenden Parameter werden in ParametersParametersParametersParametersparameters angegeben. Mit determine_ncc_model_paramsdetermine_ncc_model_paramsDetermineNccModelParamsDetermineNccModelParamsDetermineNccModelParams lassen sich dieselben Parameter automatisch bestimmen, die auch mit create_ncc_modelcreate_ncc_modelCreateNccModelCreateNccModelCreateNccModel durch Setzen des jeweiligen Parameters auf 'auto'"auto""auto""auto""auto" automatisch bestimmt werden können: die Anzahl der Pyramidenebenen des Modells (ParametersParametersParametersParametersparameters = 'num_levels'"num_levels""num_levels""num_levels""num_levels") und/oder die Winkelschrittweite (ParametersParametersParametersParametersparameters = '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 ParametersParametersParametersParametersparameters übergeben wird. Falls alle Parameter automatisch bestimmt werden sollen, kann zur Vereinfachung auch der Wert 'all'"all""all""all""all" übergeben werden.

determine_ncc_model_paramsdetermine_ncc_model_paramsDetermineNccModelParamsDetermineNccModelParamsDetermineNccModelParams 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 ParameterNameParameterNameParameterNameParameterNameparameterName und ParameterValueParameterValueParameterValueParameterValueparameterValue als Name des Parameters und als jeweiliger Wert zurückgeliefert. Dabei haben die Parameter in ParameterNameParameterNameParameterNameParameterNameparameterName dieselben Namen wie in ParametersParametersParametersParametersparameters, wobei natürlich der Wert 'all'"all""all""all""all" durch die entsprechenden Parameternamen ersetzt wird.

Die Eingabeparameter (NumLevelsNumLevelsNumLevelsNumLevelsnumLevels, AngleStartAngleStartAngleStartAngleStartangleStart, AngleExtentAngleExtentAngleExtentAngleExtentangleExtent und MetricMetricMetricMetricmetric) haben dieselbe Bedeutung wie bei create_ncc_modelcreate_ncc_modelCreateNccModelCreateNccModelCreateNccModel. Die Beschreibung der Parameter kann dort nachgelesen werden. Diese Parameter werden von determine_ncc_model_paramsdetermine_ncc_model_paramsDetermineNccModelParamsDetermineNccModelParamsDetermineNccModelParams dazu verwendet, die zu bestimmenden Parameter auf dieselbe Art zu berechnen wie in create_ncc_modelcreate_ncc_modelCreateNccModelCreateNccModelCreateNccModel.

Zu beachten ist, dass determine_ncc_model_paramsdetermine_ncc_model_paramsDetermineNccModelParamsDetermineNccModelParamsDetermineNccModelParams den Eingabeparameter NumLevelsNumLevelsNumLevelsNumLevelsnumLevels auch automatisch bestimmen kann. Falls dieser Parameter nicht automatisch bestimmt werden soll, d.h. der Name wird nicht in ParametersParametersParametersParametersparameters übergeben, muss für den Parameter ein zulässiger Wert übergeben werden. Insbesondere darf der Parameter nicht auf 'auto'"auto""auto""auto""auto" gesetzt sein. Soll die Anzahl an Pyramidenebenen automatisch bestimmt werden, d.h. ParametersParametersParametersParametersparameters enthält den Wert '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 NumLevelsNumLevelsNumLevelsNumLevelsnumLevels auf den betreffenden Wert gesetzt werden. Falls in diesem Fall ParametersParametersParametersParametersparameters den Wert 'num_levels'"num_levels""num_levels""num_levels""num_levels" enthält, kann der berechnete Wert der Anzahl der Pyramidenebenen höchstens NumLevelsNumLevelsNumLevelsNumLevelsnumLevels betragen. Falls NumLevelsNumLevelsNumLevelsNumLevelsnumLevels = 'auto'"auto""auto""auto""auto" oder 0 gesetzt wird, wird die Anzahl der Pyramidenebenen ohne Beschränkung so hoch wie möglich bestimmt.

Ausführungsinformationen

Parameter

TemplateTemplateTemplateTemplatetemplate (input_object)  singlechannelimage objectHImageHImageHobject (byte / uint2)

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

NumLevelsNumLevelsNumLevelsNumLevelsnumLevels (input_control)  integer HTupleHTupleHtuple (integer / string) (int / long / string) (Hlong / HString) (Hlong / char*)

Maximale Anzahl von Pyramidenebenen.

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

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

AngleStartAngleStartAngleStartAngleStartangleStart (input_control)  angle.rad HTupleHTupleHtuple (real) (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

AngleExtentAngleExtentAngleExtentAngleExtentangleExtent (input_control)  angle.rad HTupleHTupleHtuple (real) (double) (double) (double)

Ausdehnung des Winkelbereichs.

Defaultwert: 0.79

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

Restriktion: AngleExtent >= 0

MetricMetricMetricMetricmetric (input_control)  string HTupleHTupleHtuple (string) (string) (HString) (char*)

Art der zum Matchen verwendeten Metrik.

Defaultwert: '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", 'use_polarity'"use_polarity""use_polarity""use_polarity""use_polarity"

ParametersParametersParametersParametersparameters (input_control)  string(-array) HTupleHTupleHtuple (string) (string) (HString) (char*)

Zu berechnende Parameter.

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

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

ParameterNameParameterNameParameterNameParameterNameparameterName (output_control)  string-array HTupleHTupleHtuple (string) (string) (HString) (char*)

Name des berechneten Parameters.

ParameterValueParameterValueParameterValueParameterValueparameterValue (output_control)  number-array HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Wert des berechneten Parameters.

Ergebnis

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

Nachfolger

create_ncc_modelcreate_ncc_modelCreateNccModelCreateNccModelCreateNccModel

Siehe auch

find_ncc_modelfind_ncc_modelFindNccModelFindNccModelFindNccModel

Modul

Matching