create_template_rot T_create_template_rot CreateTemplateRot CreateTemplateRot create_template_rot (Operator)
Name
create_template_rot T_create_template_rot CreateTemplateRot CreateTemplateRot create_template_rot — Aufbereiten eines Musters für Template Matching mit Rotation.
Warnung
create_template_rot create_template_rot CreateTemplateRot CreateTemplateRot CreateTemplateRot create_template_rot ist veraltet und wird nur aus Gründen
der Rückwärtskompatibilität zur Verfügung gestellt. Neue
Applikationen sollten stattdessen die
Form-basierten oder NCC-basierten Operatoren verwenden.
Signatur
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 )
(Nur Windows)
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 )
(Nur Windows)
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
(Nur Windows)
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 )
Beschreibung
create_template_rot create_template_rot CreateTemplateRot CreateTemplateRot CreateTemplateRot create_template_rot bereitet ein Muster,
das als Bild übergeben wird, für das Template Matching vor.
Als Erweiterung gegenüber create_template create_template CreateTemplate CreateTemplate CreateTemplate create_template
kann das Matching später mit rotierten Mustern ausgeführt werden.
Die Parameter AngleStart AngleStart AngleStart AngleStart angleStart angle_start und AngleExtend AngleExtend AngleExtend AngleExtend angleExtend angle_extend
legen die maximale Rotation des Musters fest: AngleStart AngleStart AngleStart AngleStart angleStart angle_start
gibt die größte Rotation gegen den Uhrzeiger an und AngleExtend AngleExtend AngleExtend AngleExtend angleExtend angle_extend
die größte Rotation im Uhrzeigersinn relativ zu diesem Winkel.
AngleExtend AngleExtend AngleExtend AngleExtend angleExtend angle_extend muss folglich immer kleiner als
sein. Mit dem Parameter AngleStep AngleStep AngleStep AngleStep angleStep angle_step
wird die maximale Winkelauflösung (auf der untersten Pyramidenebene)
festgelegt.
Es ist zu beachten, dass alle möglichen Rotationen
bei der Erzeugung des Templates berechnet werden um Laufzeit bei
Matching zu sparen. Dies
führt zu einer entsprechend hohen Laufzeit von
create_template_rot create_template_rot CreateTemplateRot CreateTemplateRot CreateTemplateRot create_template_rot
und einem hohen Speicherbedarf des erzeugten Templates.
Der Speicherbedarf hängt von AngleExtend AngleExtend AngleExtend AngleExtend angleExtend angle_extend
und AngleStep AngleStep AngleStep AngleStep angleStep angle_step ab. Die Anzahl der Pyramidenstufen
kann dagegen vernachlässigt werden. Falls A die Fläche
von Template Template Template Template template template ist, dann ist der Speicherbedarf M
in Byte etwa:
Dem Template wird nach der Transformation eine Nummer
zugewiesen (TemplateID TemplateID TemplateID TemplateID templateID template_id ), die bei der
weiteren Verarbeitung verwendet wird.
Die Beschreibung der weiteren Parameter ist bei
create_template create_template CreateTemplate CreateTemplate CreateTemplate create_template zu finden.
Achtung
Es ist zu beachten, dass für jede Rotation Muster angelegt werden.
Dies erhöht bei einer feinen Auflösung den Speicherbedarf
entsprechend.
Ausführungsinformationen
Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
Wird ohne Parallelisierung verarbeitet.
Dieser Operator liefert ein Handle zurück. Es ist zu beachten, dass der Zustand einer Instanz dieses Handletyps durch bestimmte Operatoren geändert werden kann, obwohl das Handle als Eingabeparameter in diesen Operatoren verwendet wird.
Parameter
Template Template Template Template template template (input_object) singlechannelimage → object HImage HObject HImage Hobject (byte)
Eingabebild, dessen Definitionsbereich für das
Pattern Matching aufbereitet wird.
NumLevel NumLevel NumLevel NumLevel numLevel num_level (input_control) integer → HTuple int HTuple Htuple (integer) (int / long) (Hlong ) (Hlong )
Maximale Anzahl von Pyramidenebenen.
Defaultwert: 4
Werteliste: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
AngleStart AngleStart AngleStart AngleStart angleStart angle_start (input_control) angle.rad → HTuple float HTuple Htuple (real) (double ) (double ) (double )
Kleinster auftretende Rotation des Musters.
Defaultwert: -0.39
Wertevorschläge: -3.14, -1.57, -0.79, -0.39, -0.20, 0.0
AngleStep AngleStep AngleStep AngleStep angleStep angle_step (input_control) angle.rad → HTuple float HTuple Htuple (real) (double ) (double ) (double )
Schrittweite (Winkelgenauigkeit) des Matchings.
Defaultwert: 0.0982
Wertevorschläge: 0.3927, 0.1963, 0.0982, 0.0491, 0.0245
Restriktion: AngleStep > 0
Optimize Optimize Optimize Optimize optimize optimize (input_control) string → HTuple str HTuple Htuple (string) (string ) (HString ) (char* )
Art der Optimierung.
Defaultwert:
'sort'
"sort"
"sort"
"sort"
"sort"
"sort"
Werteliste: 'none' "none" "none" "none" "none" "none" , 'sort' "sort" "sort" "sort" "sort" "sort"
GrayValues GrayValues GrayValues GrayValues grayValues gray_values (input_control) string → HTuple str HTuple Htuple (string) (string ) (HString ) (char* )
Art der Grauwerte.
Defaultwert:
'original'
"original"
"original"
"original"
"original"
"original"
Werteliste: 'gradient' "gradient" "gradient" "gradient" "gradient" "gradient" , 'normalized' "normalized" "normalized" "normalized" "normalized" "normalized" , 'original' "original" "original" "original" "original" "original" , 'sobel' "sobel" "sobel" "sobel" "sobel" "sobel"
TemplateID TemplateID TemplateID TemplateID templateID template_id (output_control) template → HTemplate , HTuple HHandle HTuple Htuple (handle) (IntPtr ) (HHandle ) (handle )
Nummer des Templates.
Ergebnis
Sind die Parameterwerte korrekt, dann liefert
create_template_rot create_template_rot CreateTemplateRot CreateTemplateRot CreateTemplateRot create_template_rot den Wert 2 (H_MSG_TRUE ).
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
Vorgänger
draw_region draw_region DrawRegion DrawRegion DrawRegion draw_region ,
reduce_domain reduce_domain ReduceDomain ReduceDomain ReduceDomain reduce_domain ,
threshold threshold Threshold Threshold Threshold threshold
Nachfolger
best_match_rot best_match_rot BestMatchRot BestMatchRot BestMatchRot best_match_rot ,
best_match_rot_mg best_match_rot_mg BestMatchRotMg BestMatchRotMg BestMatchRotMg best_match_rot_mg ,
adapt_template adapt_template AdaptTemplate AdaptTemplate AdaptTemplate adapt_template ,
set_reference_template set_reference_template SetReferenceTemplate SetReferenceTemplate SetReferenceTemplate set_reference_template ,
clear_template clear_template ClearTemplate ClearTemplate ClearTemplate clear_template ,
set_offset_template set_offset_template SetOffsetTemplate SetOffsetTemplate SetOffsetTemplate set_offset_template ,
write_template write_template WriteTemplate WriteTemplate WriteTemplate write_template
Alternativen
create_ncc_model create_ncc_model CreateNccModel CreateNccModel CreateNccModel create_ncc_model ,
create_template create_template CreateTemplate CreateTemplate CreateTemplate create_template
Modul
Matching