Skip to content

create_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelCreatePlanarUncalibDeformableModelcreate_planar_uncalib_deformable_modelT_create_planar_uncalib_deformable_model🔗

Short description🔗

create_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelCreatePlanarUncalibDeformableModelcreate_planar_uncalib_deformable_modelT_create_planar_uncalib_deformable_model — Creates a deformable model for uncalibrated, perspective matching.

Signature🔗

create_planar_uncalib_deformable_model( image Template, integer NumLevels, angle.rad AngleStart, angle.rad AngleExtent, angle.rad AngleStep, number ScaleRMin, number ScaleRMax, number ScaleRStep, number ScaleCMin, number ScaleCMax, number ScaleCStep, string Optimization, string Metric, number Contrast, number MinContrast, string GenParamName, integer GenParamValue, out deformable_model ModelID )void CreatePlanarUncalibDeformableModel( const HObject& Template, const HTuple& NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& AngleStep, const HTuple& ScaleRMin, const HTuple& ScaleRMax, const HTuple& ScaleRStep, const HTuple& ScaleCMin, const HTuple& ScaleCMax, const HTuple& ScaleCStep, const HTuple& Optimization, const HTuple& Metric, const HTuple& Contrast, const HTuple& MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* ModelID )static void HOperatorSet.CreatePlanarUncalibDeformableModel( HObject template, HTuple numLevels, HTuple angleStart, HTuple angleExtent, HTuple angleStep, HTuple scaleRMin, HTuple scaleRMax, HTuple scaleRStep, HTuple scaleCMin, HTuple scaleCMax, HTuple scaleCStep, HTuple optimization, HTuple metric, HTuple contrast, HTuple minContrast, HTuple genParamName, HTuple genParamValue, out HTuple modelID )def create_planar_uncalib_deformable_model( template: HObject, num_levels: Union[int, str], angle_start: Sequence[float], angle_extent: Sequence[float], angle_step: Union[float, str], scale_rmin: float, scale_rmax: Sequence[float], scale_rstep: Union[float, str], scale_cmin: float, scale_cmax: Sequence[float], scale_cstep: Union[float, str], optimization: MaybeSequence[str], metric: str, contrast: Sequence[Union[int, str]], min_contrast: Union[int, str], gen_param_name: Sequence[str], gen_param_value: Sequence[Union[int, float, str]] ) -> HHandle

Herror T_create_planar_uncalib_deformable_model( const Hobject Template, const Htuple NumLevels, const Htuple AngleStart, const Htuple AngleExtent, const Htuple AngleStep, const Htuple ScaleRMin, const Htuple ScaleRMax, const Htuple ScaleRStep, const Htuple ScaleCMin, const Htuple ScaleCMax, const Htuple ScaleCStep, const Htuple Optimization, const Htuple Metric, const Htuple Contrast, const Htuple MinContrast, const Htuple GenParamName, const Htuple GenParamValue, Htuple* ModelID )

void HDeformableModel::HDeformableModel( const HImage& Template, const HTuple& NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& AngleStep, double ScaleRMin, const HTuple& ScaleRMax, const HTuple& ScaleRStep, double ScaleCMin, const HTuple& ScaleCMax, const HTuple& ScaleCStep, const HTuple& Optimization, const HString& Metric, const HTuple& Contrast, const HTuple& MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue )

void HDeformableModel::HDeformableModel( const HImage& Template, Hlong NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, double AngleStep, double ScaleRMin, const HTuple& ScaleRMax, double ScaleRStep, double ScaleCMin, const HTuple& ScaleCMax, double ScaleCStep, const HString& Optimization, const HString& Metric, const HTuple& Contrast, Hlong MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue )

void HDeformableModel::HDeformableModel( const HImage& Template, Hlong NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, double AngleStep, double ScaleRMin, const HTuple& ScaleRMax, double ScaleRStep, double ScaleCMin, const HTuple& ScaleCMax, double ScaleCStep, const char* Optimization, const char* Metric, const HTuple& Contrast, Hlong MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue )

void HDeformableModel::HDeformableModel( const HImage& Template, Hlong NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, double AngleStep, double ScaleRMin, const HTuple& ScaleRMax, double ScaleRStep, double ScaleCMin, const HTuple& ScaleCMax, double ScaleCStep, const wchar_t* Optimization, const wchar_t* Metric, const HTuple& Contrast, Hlong MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue ) (Windows only)

public HDeformableModel( HImage template, HTuple numLevels, HTuple angleStart, HTuple angleExtent, HTuple angleStep, double scaleRMin, HTuple scaleRMax, HTuple scaleRStep, double scaleCMin, HTuple scaleCMax, HTuple scaleCStep, HTuple optimization, string metric, HTuple contrast, HTuple minContrast, HTuple genParamName, HTuple genParamValue )

public HDeformableModel( HImage template, int numLevels, HTuple angleStart, HTuple angleExtent, double angleStep, double scaleRMin, HTuple scaleRMax, double scaleRStep, double scaleCMin, HTuple scaleCMax, double scaleCStep, string optimization, string metric, HTuple contrast, int minContrast, HTuple genParamName, HTuple genParamValue )

void HDeformableModel::CreatePlanarUncalibDeformableModel( const HImage& Template, const HTuple& NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& AngleStep, double ScaleRMin, const HTuple& ScaleRMax, const HTuple& ScaleRStep, double ScaleCMin, const HTuple& ScaleCMax, const HTuple& ScaleCStep, const HTuple& Optimization, const HString& Metric, const HTuple& Contrast, const HTuple& MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue )

void HDeformableModel::CreatePlanarUncalibDeformableModel( const HImage& Template, Hlong NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, double AngleStep, double ScaleRMin, const HTuple& ScaleRMax, double ScaleRStep, double ScaleCMin, const HTuple& ScaleCMax, double ScaleCStep, const HString& Optimization, const HString& Metric, const HTuple& Contrast, Hlong MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue )

void HDeformableModel::CreatePlanarUncalibDeformableModel( const HImage& Template, Hlong NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, double AngleStep, double ScaleRMin, const HTuple& ScaleRMax, double ScaleRStep, double ScaleCMin, const HTuple& ScaleCMax, double ScaleCStep, const char* Optimization, const char* Metric, const HTuple& Contrast, Hlong MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue )

void HDeformableModel::CreatePlanarUncalibDeformableModel( const HImage& Template, Hlong NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, double AngleStep, double ScaleRMin, const HTuple& ScaleRMax, double ScaleRStep, double ScaleCMin, const HTuple& ScaleCMax, double ScaleCStep, const wchar_t* Optimization, const wchar_t* Metric, const HTuple& Contrast, Hlong MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue ) (Windows only)

HDeformableModel HImage::CreatePlanarUncalibDeformableModel( const HTuple& NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& AngleStep, double ScaleRMin, const HTuple& ScaleRMax, const HTuple& ScaleRStep, double ScaleCMin, const HTuple& ScaleCMax, const HTuple& ScaleCStep, const HTuple& Optimization, const HString& Metric, const HTuple& Contrast, const HTuple& MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue ) const

HDeformableModel HImage::CreatePlanarUncalibDeformableModel( Hlong NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, double AngleStep, double ScaleRMin, const HTuple& ScaleRMax, double ScaleRStep, double ScaleCMin, const HTuple& ScaleCMax, double ScaleCStep, const HString& Optimization, const HString& Metric, const HTuple& Contrast, Hlong MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue ) const

HDeformableModel HImage::CreatePlanarUncalibDeformableModel( Hlong NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, double AngleStep, double ScaleRMin, const HTuple& ScaleRMax, double ScaleRStep, double ScaleCMin, const HTuple& ScaleCMax, double ScaleCStep, const char* Optimization, const char* Metric, const HTuple& Contrast, Hlong MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue ) const

HDeformableModel HImage::CreatePlanarUncalibDeformableModel( Hlong NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, double AngleStep, double ScaleRMin, const HTuple& ScaleRMax, double ScaleRStep, double ScaleCMin, const HTuple& ScaleCMax, double ScaleCStep, const wchar_t* Optimization, const wchar_t* Metric, const HTuple& Contrast, Hlong MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue ) const (Windows only)

void HDeformableModel.CreatePlanarUncalibDeformableModel( HImage template, HTuple numLevels, HTuple angleStart, HTuple angleExtent, HTuple angleStep, double scaleRMin, HTuple scaleRMax, HTuple scaleRStep, double scaleCMin, HTuple scaleCMax, HTuple scaleCStep, HTuple optimization, string metric, HTuple contrast, HTuple minContrast, HTuple genParamName, HTuple genParamValue )

void HDeformableModel.CreatePlanarUncalibDeformableModel( HImage template, int numLevels, HTuple angleStart, HTuple angleExtent, double angleStep, double scaleRMin, HTuple scaleRMax, double scaleRStep, double scaleCMin, HTuple scaleCMax, double scaleCStep, string optimization, string metric, HTuple contrast, int minContrast, HTuple genParamName, HTuple genParamValue )

HDeformableModel HImage.CreatePlanarUncalibDeformableModel( HTuple numLevels, HTuple angleStart, HTuple angleExtent, HTuple angleStep, double scaleRMin, HTuple scaleRMax, HTuple scaleRStep, double scaleCMin, HTuple scaleCMax, HTuple scaleCStep, HTuple optimization, string metric, HTuple contrast, HTuple minContrast, HTuple genParamName, HTuple genParamValue )

HDeformableModel HImage.CreatePlanarUncalibDeformableModel( int numLevels, HTuple angleStart, HTuple angleExtent, double angleStep, double scaleRMin, HTuple scaleRMax, double scaleRStep, double scaleCMin, HTuple scaleCMax, double scaleCStep, string optimization, string metric, HTuple contrast, int minContrast, HTuple genParamName, HTuple genParamValue )

Description🔗

The operator create_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModel prepares a template, which is passed in the image Templatetemplatetemplate, as a deformable model used for uncalibrated perspective matching. The ROI of the model is passed as the domain of Templatetemplatetemplate.

The planar uncalibrated matching can be used to detect planar objects or planar subparts of non-planar objects that are distorted by a projective view.

This is an alternative to create_generic_shape_modelCreateGenericShapeModel, where typically the search image must be rectified by calibrate_camerasCalibrateCameras and gen_image_to_world_plane_mapGenImageToWorldPlaneMap beforehand.

In contrast to create_shape_model_3dCreateShapeModel3d there is no need to pre-generate different views of an object, resulting into a smaller memory consumption. Hence, in case of a planar perspectively distorted object, create_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModel should be preferred.

The model is generated using multiple image pyramid levels and is stored in memory. The output parameter ModelIDmodelIDmodel_id is a handle for this model, which is used in subsequent calls to find_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModel.

Input parameters in detail🔗

Execution information🔗

Execution information
  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).

  • Multithreading scope: global (may be called from any thread).

  • Processed without parallelization.

This operator returns a handle. Note that the state of an instance of this handle type may be changed by specific operators even though the handle is used as an input parameter by those operators.

Parameters🔗

Templatetemplatetemplate (input_object) (multichannel-)image → object (byte / uint2)HObject (byte / uint2)HImage (byte / uint2)HObject (byte / uint2)Hobject (byte / uint2)

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

NumLevelsnumLevelsnum_levels (input_control) integer → (integer / string)HTuple (Hlong / HString)HTuple (int / long / string)Union[int, str]Htuple (Hlong / char*)

Maximum number of pyramid levels.

Default: 'auto'"auto"
List of values: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 'auto'0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, "auto"

AngleStartangleStartangle_start (input_control) angle.rad-array → (real)HTuple (double)HTuple (double)Sequence[float]Htuple (double)

This parameter is not used.

Default: [][]

AngleExtentangleExtentangle_extent (input_control) angle.rad-array → (real)HTuple (double)HTuple (double)Sequence[float]Htuple (double)

This parameter is not used.

Default: [][]

AngleStepangleStepangle_step (input_control) angle.rad → (real / string)HTuple (double / HString)HTuple (double / string)Union[float, str]Htuple (double / char*)

Step length of the angles (resolution).

Default: 'auto'"auto"
Suggested values: 'auto', 0.0175, 0.0349, 0.0524, 0.0698, 0.0873"auto", 0.0175, 0.0349, 0.0524, 0.0698, 0.0873
Restriction: AngleStep > 0 && AngleStep <= pi/16

ScaleRMinscaleRMinscale_rmin (input_control) number → (real)HTuple (double)HTuple (double)floatHtuple (double)

Minimum scale of the pattern in row direction.

Default: 1.01.0
Suggested values: 0.5, 0.6, 0.7, 0.8, 0.9, 1.00.5, 0.6, 0.7, 0.8, 0.9, 1.0
Restriction: ScaleRMin > 0

ScaleRMaxscaleRMaxscale_rmax (input_control) number-array → (real)HTuple (double)HTuple (double)Sequence[float]Htuple (double)

This parameter is not used.

Default: [][]

ScaleRStepscaleRStepscale_rstep (input_control) number → (real / string)HTuple (double / HString)HTuple (double / string)Union[float, str]Htuple (double / char*)

Scale step length (resolution) in row direction.

Default: 'auto'"auto"
Suggested values: 'auto', 0.01, 0.02, 0.05, 0.1, 0.15, 0.2"auto", 0.01, 0.02, 0.05, 0.1, 0.15, 0.2
Restriction: ScaleRStep >= 0

ScaleCMinscaleCMinscale_cmin (input_control) number → (real)HTuple (double)HTuple (double)floatHtuple (double)

Minimum scale of the pattern in column direction.

Default: 1.01.0
Suggested values: 0.5, 0.6, 0.7, 0.8, 0.9, 1.00.5, 0.6, 0.7, 0.8, 0.9, 1.0
Restriction: ScaleCMin > 0

ScaleCMaxscaleCMaxscale_cmax (input_control) number-array → (real)HTuple (double)HTuple (double)Sequence[float]Htuple (double)

This parameter is not used.

Default: [][]

ScaleCStepscaleCStepscale_cstep (input_control) number → (real / string)HTuple (double / HString)HTuple (double / string)Union[float, str]Htuple (double / char*)

Scale step length (resolution) in column direction.

Default: 'auto'"auto"
Suggested values: 'auto', 0.01, 0.02, 0.05, 0.1, 0.15, 0.2"auto", 0.01, 0.02, 0.05, 0.1, 0.15, 0.2
Restriction: ScaleCStep >= 0

Optimizationoptimizationoptimization (input_control) string(-array) → (string)HTuple (HString)HTuple (string)MaybeSequence[str]Htuple (char*)

Kind of optimization used for generating the model.

Default: 'none'"none"
List of values: 'auto', 'none', 'point_reduction_high', 'point_reduction_low', 'point_reduction_medium'"auto", "none", "point_reduction_high", "point_reduction_low", "point_reduction_medium"

Metricmetricmetric (input_control) string → (string)HTuple (HString)HTuple (string)strHtuple (char*)

Match metric.

Default: 'use_polarity'"use_polarity"
List of values: 'ignore_color_polarity', 'ignore_global_polarity', 'ignore_local_polarity', 'ignore_part_polarity', 'use_polarity'"ignore_color_polarity", "ignore_global_polarity", "ignore_local_polarity", "ignore_part_polarity", "use_polarity"

Contrastcontrastcontrast (input_control) number-array → (integer / string)HTuple (Hlong / HString)HTuple (int / long / string)Sequence[Union[int, str]]Htuple (Hlong / char*)

Thresholds or hysteresis thresholds for the contrast of the object in the template image.

Default: 'auto'"auto"
Suggested values: 'auto', 10, 20, 30, 40, 60, 80, 100, 120, 140, 160"auto", 10, 20, 30, 40, 60, 80, 100, 120, 140, 160

MinContrastminContrastmin_contrast (input_control) number → (integer / string)HTuple (Hlong / HString)HTuple (int / long / string)Union[int, str]Htuple (Hlong / char*)

Minimum contrast of the objects in the search images.

Default: 'auto'"auto"
Suggested values: 'auto', 1, 2, 3, 5, 7, 10, 20, 30, 40"auto", 1, 2, 3, 5, 7, 10, 20, 30, 40
Restriction: MinContrast < Contrast

GenParamNamegenParamNamegen_param_name (input_control) string-array → (string)HTuple (HString)HTuple (string)Sequence[str]Htuple (char*)

The generic parameter names.

Default: [][]
List of values: [], 'min_size', 'part_size'[], "min_size", "part_size"

GenParamValuegenParamValuegen_param_value (input_control) integer-array → (integer / real / string)HTuple (Hlong / double / HString)HTuple (int / long / double / string)Sequence[Union[int, float, str]]Htuple (Hlong / double / char*)

Values of the generic parameter.

Default: [][]
List of values: [], 'big', 'medium', 'small'[], "big", "medium", "small"

ModelIDmodelIDmodel_id (output_control) deformable_model → (handle)HTuple (HHandle)HDeformableModel, HTuple (IntPtr)HHandleHtuple (handle)

Handle of the model.

Result🔗

If the parameters are valid, the operator create_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModel returns the value 2 (H_MSG_TRUE). If necessary an exception is raised.

Combinations with other operators🔗

Combinations

Possible predecessors

determine_deformable_model_paramsDetermineDeformableModelParams

Possible successors

set_deformable_model_originSetDeformableModelOrigin, set_deformable_model_paramSetDeformableModelParam, get_deformable_model_contoursGetDeformableModelContours, find_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModel, get_deformable_model_paramsGetDeformableModelParams, write_deformable_modelWriteDeformableModel, clear_deformable_modelClearDeformableModel

Alternatives

read_deformable_modelReadDeformableModel

Module🔗

Matching