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
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
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
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