ClassesClassesClassesClasses | | | | Operators

find_planar_uncalib_deformable_modelT_find_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelFindPlanarUncalibDeformableModel (Operator)

Name

find_planar_uncalib_deformable_modelT_find_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelFindPlanarUncalibDeformableModel — Find the best matches of a planar projective invariant deformable model in an image.

Signature

find_planar_uncalib_deformable_model(Image : : ModelID, AngleStart, AngleExtent, ScaleRMin, ScaleRMax, ScaleCMin, ScaleCMax, MinScore, NumMatches, MaxOverlap, NumLevels, Greediness, ParamName, ParamValue : HomMat2D, Score)

Herror T_find_planar_uncalib_deformable_model(const Hobject Image, const Htuple ModelID, const Htuple AngleStart, const Htuple AngleExtent, const Htuple ScaleRMin, const Htuple ScaleRMax, const Htuple ScaleCMin, const Htuple ScaleCMax, const Htuple MinScore, const Htuple NumMatches, const Htuple MaxOverlap, const Htuple NumLevels, const Htuple Greediness, const Htuple ParamName, const Htuple ParamValue, Htuple* HomMat2D, Htuple* Score)

Herror find_planar_uncalib_deformable_model(Hobject Image, const HTuple& ModelID, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& ScaleRMin, const HTuple& ScaleRMax, const HTuple& ScaleCMin, const HTuple& ScaleCMax, const HTuple& MinScore, const HTuple& NumMatches, const HTuple& MaxOverlap, const HTuple& NumLevels, const HTuple& Greediness, const HTuple& ParamName, const HTuple& ParamValue, HTuple* HomMat2D, HTuple* Score)

HTuple HImage::FindPlanarUncalibDeformableModel(const HDeformableModel& ModelID, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& ScaleRMin, const HTuple& ScaleRMax, const HTuple& ScaleCMin, const HTuple& ScaleCMax, const HTuple& MinScore, const HTuple& NumMatches, const HTuple& MaxOverlap, const HTuple& NumLevels, const HTuple& Greediness, const HTuple& ParamName, const HTuple& ParamValue, HTuple* Score) const

HTuple HDeformableModel::FindPlanarUncalibDeformableModel(const HImage& Image, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& ScaleRMin, const HTuple& ScaleRMax, const HTuple& ScaleCMin, const HTuple& ScaleCMax, const HTuple& MinScore, const HTuple& NumMatches, const HTuple& MaxOverlap, const HTuple& NumLevels, const HTuple& Greediness, const HTuple& ParamName, const HTuple& ParamValue, HTuple* Score) const

void FindPlanarUncalibDeformableModel(const HObject& Image, const HTuple& ModelID, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& ScaleRMin, const HTuple& ScaleRMax, const HTuple& ScaleCMin, const HTuple& ScaleCMax, const HTuple& MinScore, const HTuple& NumMatches, const HTuple& MaxOverlap, const HTuple& NumLevels, const HTuple& Greediness, const HTuple& ParamName, const HTuple& ParamValue, HTuple* HomMat2D, HTuple* Score)

HHomMat2DArray HDeformableModel::FindPlanarUncalibDeformableModel(const HImage& Image, double AngleStart, double AngleExtent, double ScaleRMin, double ScaleRMax, double ScaleCMin, double ScaleCMax, double MinScore, Hlong NumMatches, double MaxOverlap, const HTuple& NumLevels, double Greediness, const HTuple& ParamName, const HTuple& ParamValue, HTuple* Score) const

HHomMat2D HDeformableModel::FindPlanarUncalibDeformableModel(const HImage& Image, double AngleStart, double AngleExtent, double ScaleRMin, double ScaleRMax, double ScaleCMin, double ScaleCMax, double MinScore, Hlong NumMatches, double MaxOverlap, Hlong NumLevels, double Greediness, const HTuple& ParamName, const HTuple& ParamValue, HTuple* Score) const

HHomMat2DArray HImage::FindPlanarUncalibDeformableModel(const HDeformableModel& ModelID, double AngleStart, double AngleExtent, double ScaleRMin, double ScaleRMax, double ScaleCMin, double ScaleCMax, double MinScore, Hlong NumMatches, double MaxOverlap, const HTuple& NumLevels, double Greediness, const HTuple& ParamName, const HTuple& ParamValue, HTuple* Score) const

HHomMat2D HImage::FindPlanarUncalibDeformableModel(const HDeformableModel& ModelID, double AngleStart, double AngleExtent, double ScaleRMin, double ScaleRMax, double ScaleCMin, double ScaleCMax, double MinScore, Hlong NumMatches, double MaxOverlap, Hlong NumLevels, double Greediness, const HTuple& ParamName, const HTuple& ParamValue, HTuple* Score) const

void HOperatorSetX.FindPlanarUncalibDeformableModel(
[in] IHUntypedObjectX* Image, [in] VARIANT ModelID, [in] VARIANT AngleStart, [in] VARIANT AngleExtent, [in] VARIANT ScaleRMin, [in] VARIANT ScaleRMax, [in] VARIANT ScaleCMin, [in] VARIANT ScaleCMax, [in] VARIANT MinScore, [in] VARIANT NumMatches, [in] VARIANT MaxOverlap, [in] VARIANT NumLevels, [in] VARIANT Greediness, [in] VARIANT ParamName, [in] VARIANT ParamValue, [out] VARIANT* HomMat2d, [out] VARIANT* Score)

IHHomMat2DX* HDeformableModelX.FindPlanarUncalibDeformableModel(
[in] IHImageX* Image, [in] double AngleStart, [in] double AngleExtent, [in] double ScaleRMin, [in] double ScaleRMax, [in] double ScaleCMin, [in] double ScaleCMax, [in] double MinScore, [in] Hlong NumMatches, [in] double MaxOverlap, [in] VARIANT NumLevels, [in] double Greediness, [in] VARIANT ParamName, [in] VARIANT ParamValue, [out] VARIANT* Score)

IHHomMat2DX* HImageX.FindPlanarUncalibDeformableModel(
[in] IHDeformableModelX* ModelID, [in] double AngleStart, [in] double AngleExtent, [in] double ScaleRMin, [in] double ScaleRMax, [in] double ScaleCMin, [in] double ScaleCMax, [in] double MinScore, [in] Hlong NumMatches, [in] double MaxOverlap, [in] VARIANT NumLevels, [in] double Greediness, [in] VARIANT ParamName, [in] VARIANT ParamValue, [out] VARIANT* Score)

static void HOperatorSet.FindPlanarUncalibDeformableModel(HObject image, HTuple modelID, HTuple angleStart, HTuple angleExtent, HTuple scaleRMin, HTuple scaleRMax, HTuple scaleCMin, HTuple scaleCMax, HTuple minScore, HTuple numMatches, HTuple maxOverlap, HTuple numLevels, HTuple greediness, HTuple paramName, HTuple paramValue, out HTuple homMat2D, out HTuple score)

HHomMat2D[] HDeformableModel.FindPlanarUncalibDeformableModel(HImage image, double angleStart, double angleExtent, double scaleRMin, double scaleRMax, double scaleCMin, double scaleCMax, double minScore, int numMatches, double maxOverlap, HTuple numLevels, double greediness, HTuple paramName, HTuple paramValue, out HTuple score)

HHomMat2D HDeformableModel.FindPlanarUncalibDeformableModel(HImage image, double angleStart, double angleExtent, double scaleRMin, double scaleRMax, double scaleCMin, double scaleCMax, double minScore, int numMatches, double maxOverlap, int numLevels, double greediness, HTuple paramName, HTuple paramValue, out HTuple score)

HHomMat2D[] HImage.FindPlanarUncalibDeformableModel(HDeformableModel modelID, double angleStart, double angleExtent, double scaleRMin, double scaleRMax, double scaleCMin, double scaleCMax, double minScore, int numMatches, double maxOverlap, HTuple numLevels, double greediness, HTuple paramName, HTuple paramValue, out HTuple score)

HHomMat2D HImage.FindPlanarUncalibDeformableModel(HDeformableModel modelID, double angleStart, double angleExtent, double scaleRMin, double scaleRMax, double scaleCMin, double scaleCMax, double minScore, int numMatches, double maxOverlap, int numLevels, double greediness, HTuple paramName, HTuple paramValue, out HTuple score)

Description

The operator find_planar_uncalib_deformable_modelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelFindPlanarUncalibDeformableModel finds the best NumMatchesNumMatchesNumMatchesNumMatchesNumMatchesnumMatches instances of the perspectively distorted deformable model ModelIDModelIDModelIDModelIDModelIDmodelID in the input image ImageImageImageImageImageimage. The model must have been created previously by calling create_planar_uncalib_deformable_modelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelCreatePlanarUncalibDeformableModel or read_deformable_modelread_deformable_modelReadDeformableModelread_deformable_modelReadDeformableModelReadDeformableModel.

The projective transformation (homographies) that encode the position of the found instances of the model are returned in HomMat2DHomMat2DHomMat2DHomMat2DHomMat2DhomMat2D. In case that multiple objects are found, the different homographies are concatenated. A single homography can easily be extracted by tuple_select_range(HomMat2D,Index*9,(Index+1)*9-1, SelectedHomMat2D). The different detection results are sorted in decreasing order of ScoreScoreScoreScoreScorescore. The row and column coordinates are the coordinates of the origin of the deformable model in the search image, which can be found by calling projective_trans_pixel(HomMat2D,0,0,Row,Column). By default, the origin is the center of gravity of the domain (region) of the image that was used to create the deformable model with create_planar_uncalib_deformable_modelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelCreatePlanarUncalibDeformableModel. A different origin can be set with set_deformable_model_originset_deformable_model_originSetDeformableModelOriginset_deformable_model_originSetDeformableModelOriginSetDeformableModelOrigin. For visualization purposes, the model contours that are extracted by get_deformable_model_contoursget_deformable_model_contoursGetDeformableModelContoursget_deformable_model_contoursGetDeformableModelContoursGetDeformableModelContours can be projected to the found location given HomMat2DHomMat2DHomMat2DHomMat2DHomMat2DhomMat2D with projective_trans_contour_xldprojective_trans_contour_xldProjectiveTransContourXldprojective_trans_contour_xldProjectiveTransContourXldProjectiveTransContourXld.

Additionally, the score of each found instance is returned in ScoreScoreScoreScoreScorescore. The score is a number between 0 and 1, which is an approximate measure of how much of the model is visible in the image. If, for example, half of the model is occluded, the score cannot exceed 0.5.

The domain of the image ImageImageImageImageImageimage determines the search space for the reference point of the model, i.e., for the center of gravity of the domain (region) of the image that was used to create the deformable model with create_planar_uncalib_deformable_modelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelCreatePlanarUncalibDeformableModel. A different origin set with set_deformable_model_originset_deformable_model_originSetDeformableModelOriginset_deformable_model_originSetDeformableModelOriginSetDeformableModelOrigin is not taken into account. The model is searched within those points of the domain of the image, in which the model lies completely within the image. This means that the model will not be found if it extends beyond the borders of the image, even if it would achieve a score greater than MinScoreMinScoreMinScoreMinScoreMinScoreminScore (see below). This behavior can be changed with set_system('border_shape_models','true'), which will cause models that extend beyond the image border to be found if they achieve a score greater than MinScoreMinScoreMinScoreMinScoreMinScoreminScore. Here, points lying outside the image are regarded as being occluded, i.e., they lower the score. It should be noted that the runtime of the search will increase in this mode.

The range parameters AngleStartAngleStartAngleStartAngleStartAngleStartangleStart, AngleExtentAngleExtentAngleExtentAngleExtentAngleExtentangleExtent, ScaleRMinScaleRMinScaleRMinScaleRMinScaleRMinscaleRMin, ScaleRMaxScaleRMaxScaleRMaxScaleRMaxScaleRMaxscaleRMax, ScaleCMinScaleCMinScaleCMinScaleCMinScaleCMinscaleCMin and ScaleCMaxScaleCMaxScaleCMaxScaleCMaxScaleCMaxscaleCMax are used to specify a basic range of up to an anisotropic transformation that is exhaustively searched on the top level of the image pyramid. The operator find_planar_uncalib_deformable_modelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelFindPlanarUncalibDeformableModel finds objects outside this range, e.g., even when the object is perspectively distorted. Hence, the range parameters are a kind of suggestion for the search algorithm, and starting from there a certain bigger range can be detected that depends on the pyramid levels that are used, but also on the model/image content. Often, it is not necessary to use an anisotropic scaling to find the object. In these cases, ScaleCMinScaleCMinScaleCMinScaleCMinScaleCMinscaleCMin and ScaleCMaxScaleCMaxScaleCMaxScaleCMaxScaleCMaxscaleCMax should be set to 1. The search is then performed with isotropic scaling only, which is much faster.

The parameter MinScoreMinScoreMinScoreMinScoreMinScoreminScore determines what score a potential match must at least have to be regarded as an instance of the model in the image. The larger MinScoreMinScoreMinScoreMinScoreMinScoreminScore is chosen, the faster the search is. If the model can be expected never to be occluded in the images, MinScoreMinScoreMinScoreMinScoreMinScoreminScore may be set as high as 0.8 or even 0.9.

The maximum number of instances to be found can be determined with NumMatchesNumMatchesNumMatchesNumMatchesNumMatchesnumMatches. If more than NumMatchesNumMatchesNumMatchesNumMatchesNumMatchesnumMatches instances with a score greater than MinScoreMinScoreMinScoreMinScoreMinScoreminScore are found in the image, only the best NumMatchesNumMatchesNumMatchesNumMatchesNumMatchesnumMatches instances are returned. If fewer than NumMatchesNumMatchesNumMatchesNumMatchesNumMatchesnumMatches are found, only that number is returned, i.e., the parameter MinScoreMinScoreMinScoreMinScoreMinScoreminScore takes precedence over NumMatchesNumMatchesNumMatchesNumMatchesNumMatchesnumMatches. If all model instances exceeding MinScoreMinScoreMinScoreMinScoreMinScoreminScore in the image should be found, NumMatchesNumMatchesNumMatchesNumMatchesNumMatchesnumMatches must be set to 0. In rare cases, NumMatchesNumMatchesNumMatchesNumMatchesNumMatchesnumMatches must be set to a higher value than the required number of matches. This is the case if, for instance, a small MinScoreMinScoreMinScoreMinScoreMinScoreminScore is set.

If the model exhibits symmetries it may happen that multiple instances with similar positions but different rotations are found in the image. The parameter MaxOverlapMaxOverlapMaxOverlapMaxOverlapMaxOverlapmaxOverlap determines by what fraction (i.e., a number between 0 and 1) two instances may at most overlap in order to consider them as different instances, and hence to be returned separately. If two instances overlap each other by more than MaxOverlapMaxOverlapMaxOverlapMaxOverlapMaxOverlapmaxOverlap only the best instance is returned. The calculation of the overlap is based on the smallest enclosing rectangle of arbitrary orientation (see smallest_rectangle2) of the found instances. If MaxOverlapMaxOverlapMaxOverlapMaxOverlapMaxOverlapmaxOverlap=0, the found instances may not overlap at all, while for MaxOverlapMaxOverlapMaxOverlapMaxOverlapMaxOverlapmaxOverlap=1 all instances are returned.

With the generic parameters ParamNameParamNameParamNameParamNameParamNameparamName and ParamValueParamValueParamValueParamValueParamValueparamValue it is possible to adjust parameters that typically do not have to be set by the user. By default the pose is extracted with high subpixel accuracy ('least_squares_very_high'"least_squares_very_high""least_squares_very_high""least_squares_very_high""least_squares_very_high""least_squares_very_high") through a least-squares adjustment, i.e., by minimizing the distances of the model points to their corresponding image points. However, if no high accuracy is required by an application, the subpixel precise extraction can be reduced or switched off as it increases the processing time. Here, 'sub_pixel' must be passed in ParamNameParamNameParamNameParamNameParamNameparamName and 'none'"none""none""none""none""none", 'least_squares'"least_squares""least_squares""least_squares""least_squares""least_squares", 'least_squares_high'"least_squares_high""least_squares_high""least_squares_high""least_squares_high""least_squares_high" for ParamValueParamValueParamValueParamValueParamValueparamValue. A further use of ParamNameParamNameParamNameParamNameParamNameparamName and ParamValueParamValueParamValueParamValueParamValueparamValue is to override the discretization steps of the search space 'angle_step', 'scale_r_step' and 'scale_c_step' that have been defined when the model was created in create_planar_uncalib_deformable_modelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelCreatePlanarUncalibDeformableModel.

As described in create_planar_uncalib_deformable_modelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelCreatePlanarUncalibDeformableModel the deformable matching algorithm searches exhaustively a basic set of parameters that are specified with AngleStartAngleStartAngleStartAngleStartAngleStartangleStart,AngleExtentAngleExtentAngleExtentAngleExtentAngleExtentangleExtent, ScaleRMinScaleRMinScaleRMinScaleRMinScaleRMinscaleRMin,ScaleRMaxScaleRMaxScaleRMaxScaleRMaxScaleRMaxscaleRMax,ScaleCMinScaleCMinScaleCMinScaleCMinScaleCMinscaleCMin and ScaleCMaxScaleCMaxScaleCMaxScaleCMaxScaleCMaxscaleCMax. However, to allow a detection even when the object is imaged under perspective distortion, an additional transformation is estimated. This additional transformation transforms the model from the original search range to a bigger perspectively distorted one. By allowing perspective distortions, the risk of false positives is also increased. One possible use of the parameter ParamNameParamNameParamNameParamNameParamNameparamName is to help discarding false positives that occur, if for instance a small score was specified in MinScoreMinScoreMinScoreMinScoreMinScoreminScore and the image contains significant clutter with similar shape as the model.

To restrict arbitrary perspective matches from occuring, the values 'angle_change_restriction'"angle_change_restriction""angle_change_restriction""angle_change_restriction""angle_change_restriction""angle_change_restriction" and 'aniso_scale_change_restriction'"aniso_scale_change_restriction""aniso_scale_change_restriction""aniso_scale_change_restriction""aniso_scale_change_restriction""aniso_scale_change_restriction" can be used in ParamNameParamNameParamNameParamNameParamNameparamName. With 'angle_change_restriction'"angle_change_restriction""angle_change_restriction""angle_change_restriction""angle_change_restriction""angle_change_restriction" the maximal tolerated angular distortion can be restricted (from the default value 0.0, where arbitrary distortion is allowed, to where no distortion is allowed). This parameter tests, if the angle of 90 degree at the corners of the axis-aligned rectangle around the model points is changed by more than the corresponding ParamValueParamValueParamValueParamValueParamValueparamValue for the found instance of the model. Note that this parameter helps to restrict both affine (a shear mapping) and perspective parts of the transformation. As an example, with 'angle_change_restriction'"angle_change_restriction""angle_change_restriction""angle_change_restriction""angle_change_restriction""angle_change_restriction" a square-like model can be prevented to match with a parallelogram or an arbitrary trapezium.

With the parameter 'aniso_scale_change_restriction'"aniso_scale_change_restriction""aniso_scale_change_restriction""aniso_scale_change_restriction""aniso_scale_change_restriction""aniso_scale_change_restriction" the ratio of anisotropic scaling can be restricted (the smaller scale factor divided by the bigger scale factor). The value of this parameter ranges from the default value 0.0, where arbitrary distortion is allowed, to 1.0, where no distortion is allowed. One typical use for this parameter is to restrict for instance a square-like model to deform to a rectangular model.

The number of pyramid levels used during the search is determined with NumLevelsNumLevelsNumLevelsNumLevelsNumLevelsnumLevels. If necessary, the number of levels is clipped to the range given when the deformable model was created with create_planar_uncalib_deformable_modelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelCreatePlanarUncalibDeformableModel. If NumLevelsNumLevelsNumLevelsNumLevelsNumLevelsnumLevels is set to 0, the number of pyramid levels specified in create_planar_uncalib_deformable_modelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelCreatePlanarUncalibDeformableModel is used.

The parameter GreedinessGreedinessGreedinessGreedinessGreedinessgreediness determines how “greedily” the search should be carried out. If GreedinessGreedinessGreedinessGreedinessGreedinessgreediness=0, a safe search heuristic is used, which finds the model if it is visible in the image and the other parameters are set appropriately. However, the search will be relatively time consuming in this case. If GreedinessGreedinessGreedinessGreedinessGreedinessgreediness=1, an unsafe search heuristic is used, which may cause the model not to be found in rare cases, even though it is visible in the image. For GreedinessGreedinessGreedinessGreedinessGreedinessgreediness=1, the maximum search speed is achieved. In almost all cases, the deformable model will be found for GreedinessGreedinessGreedinessGreedinessGreedinessgreediness=0.9.

Parallelization

Parameters

ImageImageImageImageImageimage (input_object)  (multichannel-)image objectHImageHImageHImageHImageXHobject (byte / uint2)

Input image in which the model should be found.

ModelIDModelIDModelIDModelIDModelIDmodelID (input_control)  deformable_model HDeformableModel, HTupleHTupleHDeformableModel, HTupleHDeformableModelX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Handle of the model.

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

Smallest rotation of the model.

Default value: -0.39

Suggested values: -3.14, -1.57, -0.79, -0.39, -0.20, 0.0

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

Extent of the rotation angles.

Default value: 0.78

Suggested values: 6.29, 3.14, 1.57, 0.79, 0.39, 0.0

Restriction: AngleExtent >= 0

ScaleRMinScaleRMinScaleRMinScaleRMinScaleRMinscaleRMin (input_control)  number HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Minimum scale of the model in row direction.

Default value: 1.0

Suggested values: 0.5, 0.6, 0.7, 0.8, 0.9, 1.0

Restriction: ScaleRMin > 0

ScaleRMaxScaleRMaxScaleRMaxScaleRMaxScaleRMaxscaleRMax (input_control)  number HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Maximum scale of the model in row direction.

Default value: 1.0

Suggested values: 1.0, 1.1, 1.2, 1.3, 1.4, 1.5

Restriction: ScaleRMax >= ScaleRMin

ScaleCMinScaleCMinScaleCMinScaleCMinScaleCMinscaleCMin (input_control)  number HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Minimum scale of the model in column direction.

Default value: 1.0

Suggested values: 0.5, 0.6, 0.7, 0.8, 0.9, 1.0

Restriction: ScaleCMin > 0

ScaleCMaxScaleCMaxScaleCMaxScaleCMaxScaleCMaxscaleCMax (input_control)  number HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Maximum scale of the model in column direction.

Default value: 1.0

Suggested values: 1.0, 1.1, 1.2, 1.3, 1.4, 1.5

Restriction: ScaleCMax >= ScaleCMin

MinScoreMinScoreMinScoreMinScoreMinScoreminScore (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Minumum score of the instances of the model to be found.

Default value: 0.5

Suggested values: 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0

Typical range of values: 0 ≤ MinScore MinScore MinScore MinScore MinScore minScore ≤ 1

Minimum increment: 0.01

Recommended increment: 0.05

NumMatchesNumMatchesNumMatchesNumMatchesNumMatchesnumMatches (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Number of instances of the model to be found (or 0 for all matches).

Default value: 1

Suggested values: 0, 1, 2, 3, 4, 5, 10, 20

MaxOverlapMaxOverlapMaxOverlapMaxOverlapMaxOverlapmaxOverlap (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Maximum overlap of the instances of the model to be found.

Default value: 1.0

Suggested values: 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0

Typical range of values: 0 ≤ MaxOverlap MaxOverlap MaxOverlap MaxOverlap MaxOverlap maxOverlap ≤ 1

Minimum increment: 0.01

Recommended increment: 0.05

NumLevelsNumLevelsNumLevelsNumLevelsNumLevelsnumLevels (input_control)  integer(-array) HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Number of pyramid levels used in the matching (and lowest pyramid level to use if |NumLevelsNumLevelsNumLevelsNumLevelsNumLevelsnumLevels| = 2).

Default value: 0

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

GreedinessGreedinessGreedinessGreedinessGreedinessgreediness (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

“Greediness” of the search heuristic (0: safe but slow; 1: fast but matches may be missed).

Default value: 0.9

Suggested values: 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0

Typical range of values: 0 ≤ Greediness Greediness Greediness Greediness Greediness greediness ≤ 1

Minimum increment: 0.01

Recommended increment: 0.05

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

The general parameter names.

Default value: []

List of values: [], 'angle_change_restriction'"angle_change_restriction""angle_change_restriction""angle_change_restriction""angle_change_restriction""angle_change_restriction", 'angle_step'"angle_step""angle_step""angle_step""angle_step""angle_step", 'aniso_scale_change_restriction'"aniso_scale_change_restriction""aniso_scale_change_restriction""aniso_scale_change_restriction""aniso_scale_change_restriction""aniso_scale_change_restriction", 'scale_c_step'"scale_c_step""scale_c_step""scale_c_step""scale_c_step""scale_c_step", 'scale_r_step'"scale_r_step""scale_r_step""scale_r_step""scale_r_step""scale_r_step", 'subpixel'"subpixel""subpixel""subpixel""subpixel""subpixel"

ParamValueParamValueParamValueParamValueParamValueparamValue (input_control)  integer-array HTupleHTupleHTupleVARIANTHtuple (integer / real / string) (int / long / double / string) (Hlong / double / HString) (Hlong / double / char*) (Hlong / double / BSTR) (Hlong / double / char*)

Values of the general parameters.

Default value: []

List of values: [], 'least_squares'"least_squares""least_squares""least_squares""least_squares""least_squares", 'least_squares_high'"least_squares_high""least_squares_high""least_squares_high""least_squares_high""least_squares_high", 'least_squares_very_high'"least_squares_very_high""least_squares_very_high""least_squares_very_high""least_squares_very_high""least_squares_very_high", 'none'"none""none""none""none""none"

HomMat2DHomMat2DHomMat2DHomMat2DHomMat2DhomMat2D (output_control)  hom_mat2d(-array) HHomMat2D, HTupleHTupleHTupleHHomMat2DX, VARIANTHtuple (real) (double) (double) (double) (double) (double)

Homographies between model and found instances.

ScoreScoreScoreScoreScorescore (output_control)  real-array HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Score of the found instances of the model.

Result

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

Possible Predecessors

create_planar_uncalib_deformable_modelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelCreatePlanarUncalibDeformableModel, read_deformable_modelread_deformable_modelReadDeformableModelread_deformable_modelReadDeformableModelReadDeformableModel

Alternatives

find_planar_calib_deformable_modelfind_planar_calib_deformable_modelFindPlanarCalibDeformableModelfind_planar_calib_deformable_modelFindPlanarCalibDeformableModelFindPlanarCalibDeformableModel

Module

Matching


ClassesClassesClassesClasses | | | | Operators