create_template_rot T_create_template_rot CreateTemplateRot CreateTemplateRot create_template_rot (Operator)
create_template_rot T_create_template_rot CreateTemplateRot CreateTemplateRot create_template_rot
— Preparing a pattern for template matching with rotation.
Warning
create_template_rot create_template_rot CreateTemplateRot CreateTemplateRot create_template_rot
is obsolete and is only provided for
reasons of backward compatibility.
The operator will be removed with HALCON 25.11.
New applications should use the
shape-based or NCC-based operators instead.
Signature
void CreateTemplateRot (const HObject& Template , const HTuple& NumLevel , const HTuple& AngleStart , const HTuple& AngleExtend , const HTuple& AngleStep , const HTuple& Optimize , const HTuple& GrayValues , HTuple* TemplateID )
void HTemplate ::HTemplate (const HImage& Template , Hlong NumLevel , double AngleStart , double AngleExtend , double AngleStep , const HString& Optimize , const HString& GrayValues )
void HTemplate ::HTemplate (const HImage& Template , Hlong NumLevel , double AngleStart , double AngleExtend , double AngleStep , const char* Optimize , const char* GrayValues )
void HTemplate ::HTemplate (const HImage& Template , Hlong NumLevel , double AngleStart , double AngleExtend , double AngleStep , const wchar_t* Optimize , const wchar_t* GrayValues )
(
Windows only)
void HTemplate ::CreateTemplateRot (const HImage& Template , Hlong NumLevel , double AngleStart , double AngleExtend , double AngleStep , const HString& Optimize , const HString& GrayValues )
void HTemplate ::CreateTemplateRot (const HImage& Template , Hlong NumLevel , double AngleStart , double AngleExtend , double AngleStep , const char* Optimize , const char* GrayValues )
void HTemplate ::CreateTemplateRot (const HImage& Template , Hlong NumLevel , double AngleStart , double AngleExtend , double AngleStep , const wchar_t* Optimize , const wchar_t* GrayValues )
(
Windows only)
HTemplate HImage ::CreateTemplateRot (Hlong NumLevel , double AngleStart , double AngleExtend , double AngleStep , const HString& Optimize , const HString& GrayValues ) const
HTemplate HImage ::CreateTemplateRot (Hlong NumLevel , double AngleStart , double AngleExtend , double AngleStep , const char* Optimize , const char* GrayValues ) const
HTemplate HImage ::CreateTemplateRot (Hlong NumLevel , double AngleStart , double AngleExtend , double AngleStep , const wchar_t* Optimize , const wchar_t* GrayValues ) const
(
Windows only)
static void HOperatorSet .CreateTemplateRot (HObject template , HTuple numLevel , HTuple angleStart , HTuple angleExtend , HTuple angleStep , HTuple optimize , HTuple grayValues , out HTuple templateID )
public HTemplate (HImage template , int numLevel , double angleStart , double angleExtend , double angleStep , string optimize , string grayValues )
void HTemplate .CreateTemplateRot (HImage template , int numLevel , double angleStart , double angleExtend , double angleStep , string optimize , string grayValues )
HTemplate HImage .CreateTemplateRot (int numLevel , double angleStart , double angleExtend , double angleStep , string optimize , string grayValues )
Description
The operator create_template_rot create_template_rot CreateTemplateRot CreateTemplateRot create_template_rot
preprocesses a pattern,
which is passed as an image, for the template matching.
An extension to create_template create_template CreateTemplate CreateTemplate create_template
the matching can
applied to rotated patterns.
The parameters AngleStart AngleStart AngleStart angleStart angle_start
and AngleExtend AngleExtend AngleExtend angleExtend angle_extend
define the maximum rotation of the pattern: AngleStart AngleStart AngleStart angleStart angle_start
specifies the maximum counter clockwise rotation and
AngleExtend AngleExtend AngleExtend angleExtend angle_extend
the maximum clockwise rotation relative
to this angle. Therefore
AngleExtend AngleExtend AngleExtend angleExtend angle_extend
has to be smaller than
. With the parameter AngleStep AngleStep AngleStep angleStep angle_step
the maximum angle resolution (on the highest resolution level)
can be specified.
You have to be aware, that all possible rotations
are calculated beforehand to reduce runtime during matching.
This leads to a higher execution time for
create_template_rot create_template_rot CreateTemplateRot CreateTemplateRot create_template_rot
and high memory
requirements for the template.
The amount of memory depends on the parameters
AngleExtend AngleExtend AngleExtend angleExtend angle_extend
and AngleStep AngleStep AngleStep angleStep angle_step
.
The number of pyramid levels can be neglected.
If A is the number of pixels of
Template Template Template template template
, the memory M needed for the template
in byte is about:
After the transformation, a number (TemplateID TemplateID TemplateID templateID template_id
) is
assigned to the template for being used in the further process.
A description of the other parameters can be found at the
operator create_template create_template CreateTemplate CreateTemplate create_template
.
Attention
You have to be aware, that depending on the resolution a large
number of pre calculated patterns have to be created
which might result in a large amount of memory needed.
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
Template Template Template template template
(input_object) singlechannelimage →
object HImage HObject HObject Hobject (byte)
Input image whose domain will be processed
for the pattern matching.
NumLevel NumLevel NumLevel numLevel num_level
(input_control) integer →
HTuple int HTuple Htuple (integer) (int / long) (Hlong ) (Hlong )
Maximal number of pyramid levels.
Default:
4
List of values:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
AngleStart AngleStart AngleStart angleStart angle_start
(input_control) angle.rad →
HTuple float HTuple Htuple (real) (double ) (double ) (double )
Smallest Rotation of the pattern.
Default:
-0.39
Suggested values:
-3.14, -1.57, -0.79, -0.39, -0.20, 0.0
AngleExtend AngleExtend AngleExtend angleExtend angle_extend
(input_control) angle.rad →
HTuple float HTuple Htuple (real) (double ) (double ) (double )
Maximum positive Extension of AngleStart AngleStart AngleStart angleStart angle_start
.
Default:
0.79
Suggested values:
6.28, 3.14, 1.57, 0.79, 0.39
Restriction:
AngleExtend > 0
AngleStep AngleStep AngleStep angleStep angle_step
(input_control) angle.rad →
HTuple float HTuple Htuple (real) (double ) (double ) (double )
Step rate (angle precision) of matching.
Default:
0.0982
Suggested values:
0.3927, 0.1963, 0.0982, 0.0491, 0.0245
Restriction:
AngleStep > 0
Optimize Optimize Optimize optimize optimize
(input_control) string →
HTuple str HTuple Htuple (string) (string ) (HString ) (char* )
Kind of optimizing.
Default:
'sort'
"sort"
"sort"
"sort"
"sort"
List of values:
'none' "none" "none" "none" "none" , 'sort' "sort" "sort" "sort" "sort"
GrayValues GrayValues GrayValues grayValues gray_values
(input_control) string →
HTuple str HTuple Htuple (string) (string ) (HString ) (char* )
Kind of gray values.
Default:
'original'
"original"
"original"
"original"
"original"
List of values:
'gradient' "gradient" "gradient" "gradient" "gradient" , 'normalized' "normalized" "normalized" "normalized" "normalized" , 'original' "original" "original" "original" "original" , 'sobel' "sobel" "sobel" "sobel" "sobel"
TemplateID TemplateID TemplateID templateID template_id
(output_control) template →
HTemplate , HTuple HHandle HTuple Htuple (handle) (IntPtr ) (HHandle ) (handle )
Template number.
Result
If the parameters are valid, the operator
create_template_rot create_template_rot CreateTemplateRot CreateTemplateRot create_template_rot
returns the value 2 (
H_MSG_TRUE )
.
If necessary an exception is raised.
Possible Predecessors
draw_region draw_region DrawRegion DrawRegion draw_region
,
reduce_domain reduce_domain ReduceDomain ReduceDomain reduce_domain
,
threshold threshold Threshold Threshold threshold
Possible Successors
best_match_rot best_match_rot BestMatchRot BestMatchRot best_match_rot
,
best_match_rot_mg best_match_rot_mg BestMatchRotMg BestMatchRotMg best_match_rot_mg
,
adapt_template adapt_template AdaptTemplate AdaptTemplate adapt_template
,
set_reference_template set_reference_template SetReferenceTemplate SetReferenceTemplate set_reference_template
,
clear_template clear_template ClearTemplate ClearTemplate clear_template
,
set_offset_template set_offset_template SetOffsetTemplate SetOffsetTemplate set_offset_template
,
write_template write_template WriteTemplate WriteTemplate write_template
Alternatives
create_ncc_model create_ncc_model CreateNccModel CreateNccModel create_ncc_model
,
create_template create_template CreateTemplate CreateTemplate create_template
Module
Matching