determine_ncc_model_paramsT_determine_ncc_model_paramsDetermineNccModelParamsDetermineNccModelParamsdetermine_ncc_model_params (算子)

名称

determine_ncc_model_paramsT_determine_ncc_model_paramsDetermineNccModelParamsDetermineNccModelParamsdetermine_ncc_model_params — 确定 NCC 模型的参数。

签名

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)   ( Windows only)

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)

def determine_ncc_model_params(template: HObject, num_levels: Union[int, str], angle_start: float, angle_extent: float, metric: str, parameters: MaybeSequence[str]) -> Tuple[Sequence[str], Sequence[Union[int, float]]]

描述

determine_ncc_model_paramsdetermine_ncc_model_paramsDetermineNccModelParamsDetermineNccModelParamsDetermineNccModelParamsdetermine_ncc_model_params determines certain parameters of an NCC model automatically from the model image TemplateTemplateTemplateTemplatetemplatetemplate. The parameters to be determined can be specified with ParametersParametersParametersParametersparametersparameters. determine_ncc_model_paramsdetermine_ncc_model_paramsDetermineNccModelParamsDetermineNccModelParamsDetermineNccModelParamsdetermine_ncc_model_params can be used to determine the same parameters that are determined automatically when the respective parameter in create_ncc_modelcreate_ncc_modelCreateNccModelCreateNccModelCreateNccModelcreate_ncc_model is set to 'auto'"auto""auto""auto""auto""auto":the number of pyramid levels (ParametersParametersParametersParametersparametersparameters = 'num_levels'"num_levels""num_levels""num_levels""num_levels""num_levels") and/or the angle step length (ParametersParametersParametersParametersparametersparameters = 'angle_step'"angle_step""angle_step""angle_step""angle_step""angle_step"). By passing a tuple of the above values in ParametersParametersParametersParametersparametersparameters, an arbitrary combination of these parameters can be determined. If all of the above parameters should be determined, the value 'all'"all""all""all""all""all" can be passed.

determine_ncc_model_paramsdetermine_ncc_model_paramsDetermineNccModelParamsDetermineNccModelParamsDetermineNccModelParamsdetermine_ncc_model_params is mainly useful to determine the above parameters before creating the model, e.g., in an interactive system, which makes suggestions for these parameters to the user, but enables the user to modify the suggested values.

The automatically determined parameters are returned as a name-value pair in ParameterNameParameterNameParameterNameParameterNameparameterNameparameter_name and ParameterValueParameterValueParameterValueParameterValueparameterValueparameter_value. The parameter names in ParameterNameParameterNameParameterNameParameterNameparameterNameparameter_name are identical to the names in ParametersParametersParametersParametersparametersparameters, where, of course, the value 'all'"all""all""all""all""all" is replaced by the actual parameter names.

The input parameters (NumLevelsNumLevelsNumLevelsNumLevelsnumLevelsnum_levels, AngleStartAngleStartAngleStartAngleStartangleStartangle_start, AngleExtentAngleExtentAngleExtentAngleExtentangleExtentangle_extent, and MetricMetricMetricMetricmetricmetric) have the same meaning as in create_ncc_modelcreate_ncc_modelCreateNccModelCreateNccModelCreateNccModelcreate_ncc_model。The description of these parameters can be looked up with this operator. These parameters are used by determine_ncc_model_paramsdetermine_ncc_model_paramsDetermineNccModelParamsDetermineNccModelParamsDetermineNccModelParamsdetermine_ncc_model_params to calculate the parameters to be determined in the same manner as in create_ncc_modelcreate_ncc_modelCreateNccModelCreateNccModelCreateNccModelcreate_ncc_model

Note that in determine_ncc_model_paramsdetermine_ncc_model_paramsDetermineNccModelParamsDetermineNccModelParamsDetermineNccModelParamsdetermine_ncc_model_params the input parameter NumLevelsNumLevelsNumLevelsNumLevelsnumLevelsnum_levels can also be determined automatically. If this parameter should not be determined automatically, i.e., the name is not passed in ParametersParametersParametersParametersparametersparameters, the parameter must contain a valid value and must not be set to 'auto'"auto""auto""auto""auto""auto". In contrast, if the maximum number of pyramid levels is to be determined automatically, i.e., ParametersParametersParametersParametersparametersparameters contains the value 'num_levels'"num_levels""num_levels""num_levels""num_levels""num_levels", you can let HALCON determine a suitable value and at the same time specify an upper boundary:

If the maximum number of pyramid levels should be specified in advance, the input parameter NumLevelsNumLevelsNumLevelsNumLevelsnumLevelsnum_levels can be set to the particular value. If in this case ParametersParametersParametersParametersparametersparameters contains the value 'num_levels'"num_levels""num_levels""num_levels""num_levels""num_levels", the computed number of pyramid levels is at most NumLevelsNumLevelsNumLevelsNumLevelsnumLevelsnum_levels. If NumLevelsNumLevelsNumLevelsNumLevelsnumLevelsnum_levels is set to 'auto'"auto""auto""auto""auto""auto" or 0, the number of pyramid levels is determined without restrictions as large as possible.

执行信息

参数

TemplateTemplateTemplateTemplatetemplatetemplate (输入对象)  singlechannelimage objectHImageHObjectHImageHobject (byte / uint2)

Input image whose domain will be used to create the model.

NumLevelsNumLevelsNumLevelsNumLevelsnumLevelsnum_levels (输入控制)  integer HTupleUnion[int, str]HTupleHtuple (integer / string) (int / long / string) (Hlong / HString) (Hlong / char*)

Maximum number of pyramid levels.

默认值: 'auto' "auto" "auto" "auto" "auto" "auto"

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

AngleStartAngleStartAngleStartAngleStartangleStartangle_start (输入控制)  angle.rad HTuplefloatHTupleHtuple (real) (double) (double) (double)

Smallest rotation of the model.

默认值: -0.39

建议值: -3.14, -1.57, -0.79, -0.39, -0.20, 0.0

AngleExtentAngleExtentAngleExtentAngleExtentangleExtentangle_extent (输入控制)  angle.rad HTuplefloatHTupleHtuple (real) (double) (double) (double)

Extent of the rotation angles.

默认值: 0.79

建议值: 6.29, 3.14, 1.57, 0.79, 0.39

限制: AngleExtent >= 0

MetricMetricMetricMetricmetricmetric (输入控制)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Match metric.

默认值: 'use_polarity' "use_polarity" "use_polarity" "use_polarity" "use_polarity" "use_polarity"

值列表: '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 (输入控制)  string(-array) HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)

Parameters to be determined automatically.

默认值: 'all' "all" "all" "all" "all" "all"

值列表: '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"

ParameterNameParameterNameParameterNameParameterNameparameterNameparameter_name (输出控制)  string-array HTupleSequence[str]HTupleHtuple (string) (string) (HString) (char*)

Name of the automatically determined parameter.

ParameterValueParameterValueParameterValueParameterValueparameterValueparameter_value (输出控制)  number-array HTupleSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Value of the automatically determined parameter.

结果

如果参数有效,算子 determine_ncc_model_paramsdetermine_ncc_model_paramsDetermineNccModelParamsDetermineNccModelParamsDetermineNccModelParamsdetermine_ncc_model_params 返回值 2 ( H_MSG_TRUE )。

可能的后继

create_ncc_modelcreate_ncc_modelCreateNccModelCreateNccModelCreateNccModelcreate_ncc_model

另见

find_ncc_modelfind_ncc_modelFindNccModelFindNccModelFindNccModelfind_ncc_model

模块

匹配