create_component_model T_create_component_model CreateComponentModel CreateComponentModel create_component_model (Operator)
Name
create_component_model T_create_component_model CreateComponentModel CreateComponentModel create_component_model
— Prepare a component model for matching based on explicitly specified
components and relations.
Signature
create_component_model (ModelImage , ComponentRegions : : VariationRow , VariationColumn , VariationAngle , AngleStart , AngleExtent , ContrastLowComp , ContrastHighComp , MinSizeComp , MinContrastComp , MinScoreComp , NumLevelsComp , AngleStepComp , OptimizationComp , MetricComp , PregenerationComp : ComponentModelID , RootRanking )
Herror T_create_component_model (const Hobject ModelImage , const Hobject ComponentRegions , const Htuple VariationRow , const Htuple VariationColumn , const Htuple VariationAngle , const Htuple AngleStart , const Htuple AngleExtent , const Htuple ContrastLowComp , const Htuple ContrastHighComp , const Htuple MinSizeComp , const Htuple MinContrastComp , const Htuple MinScoreComp , const Htuple NumLevelsComp , const Htuple AngleStepComp , const Htuple OptimizationComp , const Htuple MetricComp , const Htuple PregenerationComp , Htuple* ComponentModelID , Htuple* RootRanking )
void CreateComponentModel (const HObject& ModelImage , const HObject& ComponentRegions , const HTuple& VariationRow , const HTuple& VariationColumn , const HTuple& VariationAngle , const HTuple& AngleStart , const HTuple& AngleExtent , const HTuple& ContrastLowComp , const HTuple& ContrastHighComp , const HTuple& MinSizeComp , const HTuple& MinContrastComp , const HTuple& MinScoreComp , const HTuple& NumLevelsComp , const HTuple& AngleStepComp , const HTuple& OptimizationComp , const HTuple& MetricComp , const HTuple& PregenerationComp , HTuple* ComponentModelID , HTuple* RootRanking )
void HComponentModel ::HComponentModel (const HImage& ModelImage , const HRegion& ComponentRegions , const HTuple& VariationRow , const HTuple& VariationColumn , const HTuple& VariationAngle , double AngleStart , double AngleExtent , const HTuple& ContrastLowComp , const HTuple& ContrastHighComp , const HTuple& MinSizeComp , const HTuple& MinContrastComp , const HTuple& MinScoreComp , const HTuple& NumLevelsComp , const HTuple& AngleStepComp , const HString& OptimizationComp , const HTuple& MetricComp , const HTuple& PregenerationComp , HTuple* RootRanking )
void HComponentModel ::HComponentModel (const HImage& ModelImage , const HRegion& ComponentRegions , Hlong VariationRow , Hlong VariationColumn , double VariationAngle , double AngleStart , double AngleExtent , Hlong ContrastLowComp , Hlong ContrastHighComp , Hlong MinSizeComp , Hlong MinContrastComp , double MinScoreComp , Hlong NumLevelsComp , double AngleStepComp , const HString& OptimizationComp , const HString& MetricComp , const HString& PregenerationComp , Hlong* RootRanking )
void HComponentModel ::HComponentModel (const HImage& ModelImage , const HRegion& ComponentRegions , Hlong VariationRow , Hlong VariationColumn , double VariationAngle , double AngleStart , double AngleExtent , Hlong ContrastLowComp , Hlong ContrastHighComp , Hlong MinSizeComp , Hlong MinContrastComp , double MinScoreComp , Hlong NumLevelsComp , double AngleStepComp , const char* OptimizationComp , const char* MetricComp , const char* PregenerationComp , Hlong* RootRanking )
void HComponentModel ::HComponentModel (const HImage& ModelImage , const HRegion& ComponentRegions , Hlong VariationRow , Hlong VariationColumn , double VariationAngle , double AngleStart , double AngleExtent , Hlong ContrastLowComp , Hlong ContrastHighComp , Hlong MinSizeComp , Hlong MinContrastComp , double MinScoreComp , Hlong NumLevelsComp , double AngleStepComp , const wchar_t* OptimizationComp , const wchar_t* MetricComp , const wchar_t* PregenerationComp , Hlong* RootRanking )
(
Windows only)
HTuple HComponentModel ::CreateComponentModel (const HImage& ModelImage , const HRegion& ComponentRegions , const HTuple& VariationRow , const HTuple& VariationColumn , const HTuple& VariationAngle , double AngleStart , double AngleExtent , const HTuple& ContrastLowComp , const HTuple& ContrastHighComp , const HTuple& MinSizeComp , const HTuple& MinContrastComp , const HTuple& MinScoreComp , const HTuple& NumLevelsComp , const HTuple& AngleStepComp , const HString& OptimizationComp , const HTuple& MetricComp , const HTuple& PregenerationComp )
Hlong HComponentModel ::CreateComponentModel (const HImage& ModelImage , const HRegion& ComponentRegions , Hlong VariationRow , Hlong VariationColumn , double VariationAngle , double AngleStart , double AngleExtent , Hlong ContrastLowComp , Hlong ContrastHighComp , Hlong MinSizeComp , Hlong MinContrastComp , double MinScoreComp , Hlong NumLevelsComp , double AngleStepComp , const HString& OptimizationComp , const HString& MetricComp , const HString& PregenerationComp )
Hlong HComponentModel ::CreateComponentModel (const HImage& ModelImage , const HRegion& ComponentRegions , Hlong VariationRow , Hlong VariationColumn , double VariationAngle , double AngleStart , double AngleExtent , Hlong ContrastLowComp , Hlong ContrastHighComp , Hlong MinSizeComp , Hlong MinContrastComp , double MinScoreComp , Hlong NumLevelsComp , double AngleStepComp , const char* OptimizationComp , const char* MetricComp , const char* PregenerationComp )
Hlong HComponentModel ::CreateComponentModel (const HImage& ModelImage , const HRegion& ComponentRegions , Hlong VariationRow , Hlong VariationColumn , double VariationAngle , double AngleStart , double AngleExtent , Hlong ContrastLowComp , Hlong ContrastHighComp , Hlong MinSizeComp , Hlong MinContrastComp , double MinScoreComp , Hlong NumLevelsComp , double AngleStepComp , const wchar_t* OptimizationComp , const wchar_t* MetricComp , const wchar_t* PregenerationComp )
(
Windows only)
HComponentModel HImage ::CreateComponentModel (const HRegion& ComponentRegions , const HTuple& VariationRow , const HTuple& VariationColumn , const HTuple& VariationAngle , double AngleStart , double AngleExtent , const HTuple& ContrastLowComp , const HTuple& ContrastHighComp , const HTuple& MinSizeComp , const HTuple& MinContrastComp , const HTuple& MinScoreComp , const HTuple& NumLevelsComp , const HTuple& AngleStepComp , const HString& OptimizationComp , const HTuple& MetricComp , const HTuple& PregenerationComp , HTuple* RootRanking ) const
HComponentModel HImage ::CreateComponentModel (const HRegion& ComponentRegions , Hlong VariationRow , Hlong VariationColumn , double VariationAngle , double AngleStart , double AngleExtent , Hlong ContrastLowComp , Hlong ContrastHighComp , Hlong MinSizeComp , Hlong MinContrastComp , double MinScoreComp , Hlong NumLevelsComp , double AngleStepComp , const HString& OptimizationComp , const HString& MetricComp , const HString& PregenerationComp , Hlong* RootRanking ) const
HComponentModel HImage ::CreateComponentModel (const HRegion& ComponentRegions , Hlong VariationRow , Hlong VariationColumn , double VariationAngle , double AngleStart , double AngleExtent , Hlong ContrastLowComp , Hlong ContrastHighComp , Hlong MinSizeComp , Hlong MinContrastComp , double MinScoreComp , Hlong NumLevelsComp , double AngleStepComp , const char* OptimizationComp , const char* MetricComp , const char* PregenerationComp , Hlong* RootRanking ) const
HComponentModel HImage ::CreateComponentModel (const HRegion& ComponentRegions , Hlong VariationRow , Hlong VariationColumn , double VariationAngle , double AngleStart , double AngleExtent , Hlong ContrastLowComp , Hlong ContrastHighComp , Hlong MinSizeComp , Hlong MinContrastComp , double MinScoreComp , Hlong NumLevelsComp , double AngleStepComp , const wchar_t* OptimizationComp , const wchar_t* MetricComp , const wchar_t* PregenerationComp , Hlong* RootRanking ) const
(
Windows only)
static void HOperatorSet .CreateComponentModel (HObject modelImage , HObject componentRegions , HTuple variationRow , HTuple variationColumn , HTuple variationAngle , HTuple angleStart , HTuple angleExtent , HTuple contrastLowComp , HTuple contrastHighComp , HTuple minSizeComp , HTuple minContrastComp , HTuple minScoreComp , HTuple numLevelsComp , HTuple angleStepComp , HTuple optimizationComp , HTuple metricComp , HTuple pregenerationComp , out HTuple componentModelID , out HTuple rootRanking )
public HComponentModel (HImage modelImage , HRegion componentRegions , HTuple variationRow , HTuple variationColumn , HTuple variationAngle , double angleStart , double angleExtent , HTuple contrastLowComp , HTuple contrastHighComp , HTuple minSizeComp , HTuple minContrastComp , HTuple minScoreComp , HTuple numLevelsComp , HTuple angleStepComp , string optimizationComp , HTuple metricComp , HTuple pregenerationComp , out HTuple rootRanking )
public HComponentModel (HImage modelImage , HRegion componentRegions , int variationRow , int variationColumn , double variationAngle , double angleStart , double angleExtent , int contrastLowComp , int contrastHighComp , int minSizeComp , int minContrastComp , double minScoreComp , int numLevelsComp , double angleStepComp , string optimizationComp , string metricComp , string pregenerationComp , out int rootRanking )
HTuple HComponentModel .CreateComponentModel (HImage modelImage , HRegion componentRegions , HTuple variationRow , HTuple variationColumn , HTuple variationAngle , double angleStart , double angleExtent , HTuple contrastLowComp , HTuple contrastHighComp , HTuple minSizeComp , HTuple minContrastComp , HTuple minScoreComp , HTuple numLevelsComp , HTuple angleStepComp , string optimizationComp , HTuple metricComp , HTuple pregenerationComp )
int HComponentModel .CreateComponentModel (HImage modelImage , HRegion componentRegions , int variationRow , int variationColumn , double variationAngle , double angleStart , double angleExtent , int contrastLowComp , int contrastHighComp , int minSizeComp , int minContrastComp , double minScoreComp , int numLevelsComp , double angleStepComp , string optimizationComp , string metricComp , string pregenerationComp )
HComponentModel HImage .CreateComponentModel (HRegion componentRegions , HTuple variationRow , HTuple variationColumn , HTuple variationAngle , double angleStart , double angleExtent , HTuple contrastLowComp , HTuple contrastHighComp , HTuple minSizeComp , HTuple minContrastComp , HTuple minScoreComp , HTuple numLevelsComp , HTuple angleStepComp , string optimizationComp , HTuple metricComp , HTuple pregenerationComp , out HTuple rootRanking )
HComponentModel HImage .CreateComponentModel (HRegion componentRegions , int variationRow , int variationColumn , double variationAngle , double angleStart , double angleExtent , int contrastLowComp , int contrastHighComp , int minSizeComp , int minContrastComp , double minScoreComp , int numLevelsComp , double angleStepComp , string optimizationComp , string metricComp , string pregenerationComp , out int rootRanking )
def create_component_model (model_image : HObject, component_regions : HObject, variation_row : MaybeSequence[int], variation_column : MaybeSequence[int], variation_angle : MaybeSequence[float], angle_start : float, angle_extent : float, contrast_low_comp : MaybeSequence[Union[int, str]], contrast_high_comp : MaybeSequence[Union[int, str]], min_size_comp : MaybeSequence[Union[int, str]], min_contrast_comp : MaybeSequence[Union[int, str]], min_score_comp : MaybeSequence[float], num_levels_comp : MaybeSequence[Union[int, str]], angle_step_comp : MaybeSequence[Union[float, str]], optimization_comp : str, metric_comp : MaybeSequence[str], pregeneration_comp : MaybeSequence[str]) -> Tuple[HHandle, Sequence[int]]
def create_component_model_s (model_image : HObject, component_regions : HObject, variation_row : MaybeSequence[int], variation_column : MaybeSequence[int], variation_angle : MaybeSequence[float], angle_start : float, angle_extent : float, contrast_low_comp : MaybeSequence[Union[int, str]], contrast_high_comp : MaybeSequence[Union[int, str]], min_size_comp : MaybeSequence[Union[int, str]], min_contrast_comp : MaybeSequence[Union[int, str]], min_score_comp : MaybeSequence[float], num_levels_comp : MaybeSequence[Union[int, str]], angle_step_comp : MaybeSequence[Union[float, str]], optimization_comp : str, metric_comp : MaybeSequence[str], pregeneration_comp : MaybeSequence[str]) -> Tuple[HHandle, int]
Description
create_component_model create_component_model CreateComponentModel CreateComponentModel CreateComponentModel create_component_model
prepares patterns, which are passed
in the form of a model image ModelImage ModelImage ModelImage ModelImage modelImage model_image
and several regions
ComponentRegions ComponentRegions ComponentRegions ComponentRegions componentRegions component_regions
, as a component model for matching. The
output parameter ComponentModelID ComponentModelID ComponentModelID ComponentModelID componentModelID component_model_id
is a handle for this
model, which is used in subsequent calls to
find_component_model find_component_model FindComponentModel FindComponentModel FindComponentModel find_component_model
. In contrast to
create_trained_component_model create_trained_component_model CreateTrainedComponentModel CreateTrainedComponentModel CreateTrainedComponentModel create_trained_component_model
, no preceding training with
train_model_components train_model_components TrainModelComponents TrainModelComponents TrainModelComponents train_model_components
needs to be performed before calling
create_component_model create_component_model CreateComponentModel CreateComponentModel CreateComponentModel create_component_model
.
Each of the regions passed in ComponentRegions ComponentRegions ComponentRegions ComponentRegions componentRegions component_regions
describes a
separate model component. Later, the index of a component region in
ComponentRegions ComponentRegions ComponentRegions ComponentRegions componentRegions component_regions
is used to denote the model component.
The reference point of a component is the center of gravity of its
associated region, which is passed in ComponentRegions ComponentRegions ComponentRegions ComponentRegions componentRegions component_regions
. It
can be calculated by calling area_center area_center AreaCenter AreaCenter AreaCenter area_center
.
The relative movements (relations) of the model components can be
set by passing VariationRow VariationRow VariationRow VariationRow variationRow variation_row
, VariationColumn VariationColumn VariationColumn VariationColumn variationColumn variation_column
, and
VariationAngle VariationAngle VariationAngle VariationAngle variationAngle variation_angle
. Because directly passing the relations is
complicated, instead of the relations the variations of the model
components are passed. The variations describe the movements of the
components independently from each other relative to their poses in
the model image ModelImage ModelImage ModelImage ModelImage modelImage model_image
. The parameters
VariationRow VariationRow VariationRow VariationRow variationRow variation_row
and VariationColumn VariationColumn VariationColumn VariationColumn variationColumn variation_column
describe the
movement of the components in row and column direction by
and
, respectively.
The parameter VariationAngle VariationAngle VariationAngle VariationAngle variationAngle variation_angle
describes the angle variation
of the component by
. Based on
these values, the relations are automatically computed. The three
parameters must either contain one element, in which case the
parameter is used for all model components, or must contain the same
number of elements as ComponentRegions ComponentRegions ComponentRegions ComponentRegions componentRegions component_regions
, in which case each
parameter element refers to the corresponding model component in
ComponentRegions ComponentRegions ComponentRegions ComponentRegions componentRegions component_regions
.
The parameters AngleStart AngleStart AngleStart AngleStart angleStart angle_start
and AngleExtent AngleExtent AngleExtent AngleExtent angleExtent angle_extent
determine the range of possible rotations of the component model in
an image.
Internally, a separate shape model is built for each model component
(see create_shape_model create_shape_model CreateShapeModel CreateShapeModel CreateShapeModel create_shape_model
). Therefore, the parameters
ContrastLowComp ContrastLowComp ContrastLowComp ContrastLowComp contrastLowComp contrast_low_comp
, ContrastHighComp ContrastHighComp ContrastHighComp ContrastHighComp contrastHighComp contrast_high_comp
,
MinSizeComp MinSizeComp MinSizeComp MinSizeComp minSizeComp min_size_comp
, MinContrastComp MinContrastComp MinContrastComp MinContrastComp minContrastComp min_contrast_comp
,
MinScoreComp MinScoreComp MinScoreComp MinScoreComp minScoreComp min_score_comp
, NumLevelsComp NumLevelsComp NumLevelsComp NumLevelsComp numLevelsComp num_levels_comp
,
AngleStepComp AngleStepComp AngleStepComp AngleStepComp angleStepComp angle_step_comp
, OptimizationComp OptimizationComp OptimizationComp OptimizationComp optimizationComp optimization_comp
,
MetricComp MetricComp MetricComp MetricComp metricComp metric_comp
, and PregenerationComp PregenerationComp PregenerationComp PregenerationComp pregenerationComp pregeneration_comp
correspond to
the parameters of create_shape_model create_shape_model CreateShapeModel CreateShapeModel CreateShapeModel create_shape_model
, with the following
differences: First, in the parameter Contrast Contrast Contrast Contrast contrast contrast
of
create_shape_model create_shape_model CreateShapeModel CreateShapeModel CreateShapeModel create_shape_model
the upper as well as the lower threshold
for the hysteresis threshold method can be passed. Additionally, a
third value, which suppresses small connected contour regions, can
be passed. In contrast, the operator create_component_model create_component_model CreateComponentModel CreateComponentModel CreateComponentModel create_component_model
offers three separate parameters ContrastHighComp ContrastHighComp ContrastHighComp ContrastHighComp contrastHighComp contrast_high_comp
,
ContrastLowComp ContrastLowComp ContrastLowComp ContrastLowComp contrastLowComp contrast_low_comp
, and MinScoreComp MinScoreComp MinScoreComp MinScoreComp minScoreComp min_score_comp
in order to set
these three values. Consequently, also the automatic computation of
the contrast threshold(s) is different. If both hysteresis threshold
should be automatically determined, both ContrastLowComp ContrastLowComp ContrastLowComp ContrastLowComp contrastLowComp contrast_low_comp
and ContrastHighComp ContrastHighComp ContrastHighComp ContrastHighComp contrastHighComp contrast_high_comp
must be set to 'auto' "auto" "auto" "auto" "auto" "auto" . In
contrast, if only one threshold value should be determined,
ContrastLowComp ContrastLowComp ContrastLowComp ContrastLowComp contrastLowComp contrast_low_comp
must be set to 'auto' "auto" "auto" "auto" "auto" "auto" while
ContrastHighComp ContrastHighComp ContrastHighComp ContrastHighComp contrastHighComp contrast_high_comp
must be set to an arbitrary value
different from 'auto' "auto" "auto" "auto" "auto" "auto" . Secondly, the parameter
Optimization Optimization Optimization Optimization optimization optimization
of create_shape_model create_shape_model CreateShapeModel CreateShapeModel CreateShapeModel create_shape_model
provides the
possibility to reduce the number of model points as well as the
possibility to completely pregenerate the shape model. In contrast,
the operator create_trained_component_model create_trained_component_model CreateTrainedComponentModel CreateTrainedComponentModel CreateTrainedComponentModel create_trained_component_model
uses a separate
parameter PregenerationComp PregenerationComp PregenerationComp PregenerationComp pregenerationComp pregeneration_comp
in order to decide whether the
shape models should be completely pregenerated or not. A third
difference concerning the parameter MinScoreComp MinScoreComp MinScoreComp MinScoreComp minScoreComp min_score_comp
should be
noted. When using the shape-based matching, this parameter needs not
be passed when preparing the shape model using
create_shape_model create_shape_model CreateShapeModel CreateShapeModel CreateShapeModel create_shape_model
, but only during the search using
find_shape_model find_shape_model FindShapeModel FindShapeModel FindShapeModel find_shape_model
. In contrast, when preparing the component
model it is favorable to analyze rotational symmetries of the model
components and similarities between the model components. However,
this analysis only leads to meaningful results if the value for
MinScoreComp MinScoreComp MinScoreComp MinScoreComp minScoreComp min_score_comp
that is used during the search (see
find_component_model find_component_model FindComponentModel FindComponentModel FindComponentModel find_component_model
) is already approximately known.
In addition to the parameters ContrastLowComp ContrastLowComp ContrastLowComp ContrastLowComp contrastLowComp contrast_low_comp
,
ContrastHighComp ContrastHighComp ContrastHighComp ContrastHighComp contrastHighComp contrast_high_comp
, and MinSizeComp MinSizeComp MinSizeComp MinSizeComp minSizeComp min_size_comp
also the
parameters MinContrastComp MinContrastComp MinContrastComp MinContrastComp minContrastComp min_contrast_comp
, NumLevelsComp NumLevelsComp NumLevelsComp NumLevelsComp numLevelsComp num_levels_comp
,
AngleStepComp AngleStepComp AngleStepComp AngleStepComp angleStepComp angle_step_comp
, and OptimizationComp OptimizationComp OptimizationComp OptimizationComp optimizationComp optimization_comp
can be
automatically determined by passing 'auto' "auto" "auto" "auto" "auto" "auto" for the
respective parameters.
All component-specific input parameters (parameter names terminate
with the suffix Comp
) must either contain one element, in
which case the parameter is used for all model components, or must
contain the same number of elements as the number of regions in
ComponentRegions ComponentRegions ComponentRegions ComponentRegions componentRegions component_regions
, in which case each parameter element
refers to the corresponding element in ComponentRegions ComponentRegions ComponentRegions ComponentRegions componentRegions component_regions
.
In addition to the individual shape models, the component model also
contains information about the way the single model components must
be searched relative to each other using
find_component_model find_component_model FindComponentModel FindComponentModel FindComponentModel find_component_model
in order to minimize the computation
time of the search. For this, the components are represented in a
tree structure. First, the component that stands at the root of this
search tree (root component) is searched. Then, the remaining
components are searched relative to the pose of their predecessor in
the search tree.
The root component can be passed as an input parameter of
find_component_model find_component_model FindComponentModel FindComponentModel FindComponentModel find_component_model
during the search. To what extent a model
component is suited to act as the root component depends on several factors.
In principle, a model component that can be found in the image with a high
probability should be chosen. Therefore, a component that is sometimes
occluded to a high degree or that is missing in some cases is not well suited
to act as the root component. Additionally, the computation time that is
associated with the root component during the search can serve as a
criterion. A ranking of the model components that is based on the latter
criterion is returned in RootRanking RootRanking RootRanking RootRanking rootRanking root_ranking
. In this parameter the indices
of the model components are sorted in descending order according to their
associated search time, i.e., RootRanking RootRanking RootRanking RootRanking rootRanking root_ranking
[0] contains the index of
the model component that, chosen as root component, allows the fastest
search. Note that the ranking returned in RootRanking RootRanking RootRanking RootRanking rootRanking root_ranking
represents
only a coarse estimation. Furthermore, the calculation of the root ranking
assumes that the image size as well as the value of the system parameter
'border_shape_models' "border_shape_models" "border_shape_models" "border_shape_models" "border_shape_models" "border_shape_models" are identical when calling
create_component_model create_component_model CreateComponentModel CreateComponentModel CreateComponentModel create_component_model
and find_component_model find_component_model FindComponentModel FindComponentModel FindComponentModel find_component_model
.
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
ModelImage ModelImage ModelImage ModelImage modelImage model_image
(input_object) (multichannel-)image →
object HImage HObject HImage Hobject (byte / uint2)
Input image from which the shape models of the
model components should be created.
ComponentRegions ComponentRegions ComponentRegions ComponentRegions componentRegions component_regions
(input_object) region-array →
object HRegion HObject HRegion Hobject
Input regions from which the shape models of the
model components should be created.
VariationRow VariationRow VariationRow VariationRow variationRow variation_row
(input_control) integer(-array) →
HTuple MaybeSequence[int] HTuple Htuple (integer) (int / long) (Hlong ) (Hlong )
Variation of the model components in row direction.
Suggested values:
0, 1, 2, 3, 4, 5, 10, 20, 30, 40, 50, 100, 150
Restriction:
VariationRow >= 0
VariationColumn VariationColumn VariationColumn VariationColumn variationColumn variation_column
(input_control) integer(-array) →
HTuple MaybeSequence[int] HTuple Htuple (integer) (int / long) (Hlong ) (Hlong )
Variation of the model components in column direction.
Suggested values:
0, 1, 2, 3, 4, 5, 10, 20, 30, 40, 50, 100, 150
Restriction:
VariationColumn >= 0
VariationAngle VariationAngle VariationAngle VariationAngle variationAngle variation_angle
(input_control) angle.rad(-array) →
HTuple MaybeSequence[float] HTuple Htuple (real) (double ) (double ) (double )
Angle variation of the model components.
Suggested values:
0.0, 0.017, 0.035, 0.05, 0.07, 0.09, 0.17, 0.35, 0.52, 0.67, 0.87
Restriction:
VariationAngle >= 0
AngleStart AngleStart AngleStart AngleStart angleStart angle_start
(input_control) angle.rad →
HTuple float HTuple Htuple (real) (double ) (double ) (double )
Smallest rotation of the component model.
Default:
-0.39
Suggested values:
-3.14, -1.57, -0.79, -0.39, -0.20, 0.0
AngleExtent AngleExtent AngleExtent AngleExtent angleExtent angle_extent
(input_control) angle.rad →
HTuple float HTuple Htuple (real) (double ) (double ) (double )
Extent of the rotation of the component model.
Default:
0.79
Suggested values:
6.28, 3.14, 1.57, 0.79, 0.39
Restriction:
AngleExtent >= 0
ContrastLowComp ContrastLowComp ContrastLowComp ContrastLowComp contrastLowComp contrast_low_comp
(input_control) integer(-array) →
HTuple MaybeSequence[Union[int, str]] HTuple Htuple (integer / string) (int / long / string) (Hlong / HString) (Hlong / char*)
Lower hysteresis threshold for the contrast of the
components in the model image.
Default:
'auto'
"auto"
"auto"
"auto"
"auto"
"auto"
Suggested values:
'auto' "auto" "auto" "auto" "auto" "auto" , 10, 20, 30, 40, 60, 80, 100, 120, 140, 160
Restriction:
ContrastLowComp > 0
ContrastHighComp ContrastHighComp ContrastHighComp ContrastHighComp contrastHighComp contrast_high_comp
(input_control) integer(-array) →
HTuple MaybeSequence[Union[int, str]] HTuple Htuple (integer / string) (int / long / string) (Hlong / HString) (Hlong / char*)
Upper hysteresis threshold for the contrast of the
components in the model image.
Default:
'auto'
"auto"
"auto"
"auto"
"auto"
"auto"
Suggested values:
'auto' "auto" "auto" "auto" "auto" "auto" , 10, 20, 30, 40, 60, 80, 100, 120, 140, 160
Restriction:
ContrastHighComp > 0 && ContrastHighComp >= ContrastLowComp
MinSizeComp MinSizeComp MinSizeComp MinSizeComp minSizeComp min_size_comp
(input_control) integer(-array) →
HTuple MaybeSequence[Union[int, str]] HTuple Htuple (integer / string) (int / long / string) (Hlong / HString) (Hlong / char*)
Minimum size of the contour regions in the model.
Default:
'auto'
"auto"
"auto"
"auto"
"auto"
"auto"
Suggested values:
'auto' "auto" "auto" "auto" "auto" "auto" , 0, 5, 10, 20, 30, 40
Restriction:
MinSizeComp >= 0
MinContrastComp MinContrastComp MinContrastComp MinContrastComp minContrastComp min_contrast_comp
(input_control) integer(-array) →
HTuple MaybeSequence[Union[int, str]] HTuple Htuple (integer / string) (int / long / string) (Hlong / HString) (Hlong / char*)
Minimum contrast of the components in the search
images.
Default:
'auto'
"auto"
"auto"
"auto"
"auto"
"auto"
Suggested values:
'auto' "auto" "auto" "auto" "auto" "auto" , 10, 20, 20, 40
Restriction:
MinContrastComp <= ContrastLowComp && MinContrastComp >= 0
MinScoreComp MinScoreComp MinScoreComp MinScoreComp minScoreComp min_score_comp
(input_control) real(-array) →
HTuple MaybeSequence[float] HTuple Htuple (real) (double ) (double ) (double )
Minimum score of the instances of the components to
be found.
Default:
0.5
Suggested values:
0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0
Minimum increment:
0.01
Recommended increment:
0.05
Restriction:
0 <= MinScoreComp && MinScoreComp <= 1
NumLevelsComp NumLevelsComp NumLevelsComp NumLevelsComp numLevelsComp num_levels_comp
(input_control) integer(-array) →
HTuple MaybeSequence[Union[int, str]] HTuple Htuple (integer / string) (int / long / string) (Hlong / HString) (Hlong / char*)
Maximum number of pyramid levels for the components.
Default:
'auto'
"auto"
"auto"
"auto"
"auto"
"auto"
List of values:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 'auto' "auto" "auto" "auto" "auto" "auto"
AngleStepComp AngleStepComp AngleStepComp AngleStepComp angleStepComp angle_step_comp
(input_control) angle.rad(-array) →
HTuple MaybeSequence[Union[float, str]] HTuple Htuple (real / string) (double / string) (double / HString) (double / char*)
Step length of the angles (resolution) for the
components.
Default:
'auto'
"auto"
"auto"
"auto"
"auto"
"auto"
Suggested values:
'auto' "auto" "auto" "auto" "auto" "auto" , 0.0175, 0.0349, 0.0524, 0.0698, 0.0873
Restriction:
AngleStepComp >= 0
OptimizationComp OptimizationComp OptimizationComp OptimizationComp optimizationComp optimization_comp
(input_control) string →
HTuple str HTuple Htuple (string) (string ) (HString ) (char* )
Kind of optimization for the components.
Default:
'auto'
"auto"
"auto"
"auto"
"auto"
"auto"
List of values:
'auto' "auto" "auto" "auto" "auto" "auto" , 'none' "none" "none" "none" "none" "none" , 'point_reduction_high' "point_reduction_high" "point_reduction_high" "point_reduction_high" "point_reduction_high" "point_reduction_high" , 'point_reduction_low' "point_reduction_low" "point_reduction_low" "point_reduction_low" "point_reduction_low" "point_reduction_low" , 'point_reduction_medium' "point_reduction_medium" "point_reduction_medium" "point_reduction_medium" "point_reduction_medium" "point_reduction_medium"
MetricComp MetricComp MetricComp MetricComp metricComp metric_comp
(input_control) string(-array) →
HTuple MaybeSequence[str] HTuple Htuple (string) (string ) (HString ) (char* )
Match metric used for the components.
Default:
'use_polarity'
"use_polarity"
"use_polarity"
"use_polarity"
"use_polarity"
"use_polarity"
List of values:
'ignore_color_polarity' "ignore_color_polarity" "ignore_color_polarity" "ignore_color_polarity" "ignore_color_polarity" "ignore_color_polarity" , 'ignore_global_polarity' "ignore_global_polarity" "ignore_global_polarity" "ignore_global_polarity" "ignore_global_polarity" "ignore_global_polarity" , 'ignore_local_polarity' "ignore_local_polarity" "ignore_local_polarity" "ignore_local_polarity" "ignore_local_polarity" "ignore_local_polarity" , 'use_polarity' "use_polarity" "use_polarity" "use_polarity" "use_polarity" "use_polarity"
PregenerationComp PregenerationComp PregenerationComp PregenerationComp pregenerationComp pregeneration_comp
(input_control) string(-array) →
HTuple MaybeSequence[str] HTuple Htuple (string) (string ) (HString ) (char* )
Complete pregeneration of the shape models for the
components if equal to 'true' "true" "true" "true" "true" "true" .
Default:
'false'
"false"
"false"
"false"
"false"
"false"
List of values:
'false' "false" "false" "false" "false" "false" , 'true' "true" "true" "true" "true" "true"
ComponentModelID ComponentModelID ComponentModelID ComponentModelID componentModelID component_model_id
(output_control) component_model →
HComponentModel , HTuple HHandle HTuple Htuple (handle) (IntPtr ) (HHandle ) (handle )
Handle of the component model.
RootRanking RootRanking RootRanking RootRanking rootRanking root_ranking
(output_control) integer(-array) →
HTuple Sequence[int] HTuple Htuple (integer) (int / long) (Hlong ) (Hlong )
Ranking of the model components expressing the
suitability to act as the root component.
Example (HDevelop)
* Read the model image.
read_image (ModelImage, 'model_image.tif')
* Describe the model components.
gen_rectangle2 (ComponentRegions, 318, 109, -1.62, 34, 19)
gen_rectangle2 (Rectangle2, 342, 238, -1.63, 32, 17)
gen_rectangle2 (Rectangle3, 355, 505, 1.41, 25, 17)
concat_obj (ComponentRegions, Rectangle2, ComponentRegions)
concat_obj (ComponentRegions, Rectangle3, ComponentRegions)
* Create the component model by explicitly specifying the relations.
create_component_model (ModelImage, ComponentRegions, 20, 20, rad(25), 0, \
rad(360), 15, 40, 15, 10, 0.8, 'auto', 'auto', \
'none', 'use_polarity', 'false', ComponentModelID, \
RootRanking)
* Find the component model in a run-time image.
read_image (SearchImage, 'search_image.tif')
find_component_model (SearchImage, ComponentModelID, RootRanking, 0, \
rad(360), 0.5, 0, 0.5, 'stop_search', \
'search_from_best', 'none', 0.8, 'least_squares', 0, \
0.8, ModelStart, ModelEnd, Score, RowComp, \
ColumnComp, AngleComp, ScoreComp, ModelComp)
Result
If the parameters are valid, the operator
create_component_model create_component_model CreateComponentModel CreateComponentModel CreateComponentModel create_component_model
returns the value 2 (
H_MSG_TRUE )
. If
necessary an exception is raised.
Possible Predecessors
draw_region draw_region DrawRegion DrawRegion DrawRegion draw_region
,
concat_obj concat_obj ConcatObj ConcatObj ConcatObj concat_obj
Possible Successors
find_component_model find_component_model FindComponentModel FindComponentModel FindComponentModel find_component_model
Alternatives
create_trained_component_model create_trained_component_model CreateTrainedComponentModel CreateTrainedComponentModel CreateTrainedComponentModel create_trained_component_model
Module
Matching