create_template_rot T_create_template_rot CreateTemplateRot CreateTemplateRot (Operator)
Name
create_template_rot T_create_template_rot CreateTemplateRot CreateTemplateRot
— Aufbereiten eines Musters für Template Matching mit Rotation.
Warnung
create_template_rot create_template_rot CreateTemplateRot CreateTemplateRot CreateTemplateRot
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
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
kann das Matching später mit rotierten Mustern ausgeführt werden.
Die Parameter AngleStart AngleStart AngleStart AngleStart angleStart
und AngleExtend AngleExtend AngleExtend AngleExtend angleExtend
legen die maximale Rotation des Musters fest: AngleStart AngleStart AngleStart AngleStart angleStart
gibt die größte Rotation gegen den Uhrzeiger an und AngleExtend AngleExtend AngleExtend AngleExtend angleExtend
die größte Rotation im Uhrzeigersinn relativ zu diesem Winkel.
AngleExtend AngleExtend AngleExtend AngleExtend angleExtend
muss folglich immer kleiner als
sein. Mit dem Parameter AngleStep AngleStep AngleStep AngleStep angleStep
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
und einem hohen Speicherbedarf des erzeugten Templates.
Der Speichebedarf hängt von AngleExtend AngleExtend AngleExtend AngleExtend angleExtend
und AngleStep AngleStep AngleStep AngleStep angleStep
ab. Die Anzahl der Pyramidenstufen
kann dagegen vernachlässigt werden. Falls A die Fläche
von 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
), die bei der
weiteren Verarbeitung verwendet wird.
Die Beschreibung der weiteren Parameter ist bei
create_template create_template CreateTemplate CreateTemplate CreateTemplate
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
(input_object) singlechannelimage →
object HImage HImage Hobject (byte)
Eingabebild, dessen Definitionsbereich für das
Pattern Matching aufbereitet wird.
NumLevel NumLevel NumLevel NumLevel numLevel
(input_control) integer →
HTuple 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
(input_control) angle.rad →
HTuple 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
AngleExtend AngleExtend AngleExtend AngleExtend angleExtend
(input_control) angle.rad →
HTuple HTuple Htuple (real) (double ) (double ) (double )
Maximale posivite Abweichung von AngleStart AngleStart AngleStart AngleStart angleStart
.
Defaultwert: 0.79
Wertevorschläge: 6.28, 3.14, 1.57, 0.79, 0.39
Restriktion: AngleExtend > 0
AngleStep AngleStep AngleStep AngleStep angleStep
(input_control) angle.rad →
HTuple 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
(input_control) string →
HTuple HTuple Htuple (string) (string ) (HString ) (char* )
Art der Optimierung.
Defaultwert:
'sort'
"sort"
"sort"
"sort"
"sort"
Werteliste: 'none' "none" "none" "none" "none" , 'sort' "sort" "sort" "sort" "sort"
GrayValues GrayValues GrayValues GrayValues grayValues
(input_control) string →
HTuple HTuple Htuple (string) (string ) (HString ) (char* )
Art der Grauwerte.
Defaultwert:
'original'
"original"
"original"
"original"
"original"
Werteliste: 'gradient' "gradient" "gradient" "gradient" "gradient" , 'normalized' "normalized" "normalized" "normalized" "normalized" , 'original' "original" "original" "original" "original" , 'sobel' "sobel" "sobel" "sobel" "sobel"
TemplateID TemplateID TemplateID TemplateID templateID
(output_control) template →
HTemplate , HTuple 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
den Wert 2 (H_MSG_TRUE).
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
Vorgänger
draw_region draw_region DrawRegion DrawRegion DrawRegion
,
reduce_domain reduce_domain ReduceDomain ReduceDomain ReduceDomain
,
threshold threshold Threshold Threshold Threshold
Nachfolger
best_match_rot best_match_rot BestMatchRot BestMatchRot BestMatchRot
,
best_match_rot_mg best_match_rot_mg BestMatchRotMg BestMatchRotMg BestMatchRotMg
,
adapt_template adapt_template AdaptTemplate AdaptTemplate AdaptTemplate
,
set_reference_template set_reference_template SetReferenceTemplate SetReferenceTemplate SetReferenceTemplate
,
clear_template clear_template ClearTemplate ClearTemplate ClearTemplate
,
set_offset_template set_offset_template SetOffsetTemplate SetOffsetTemplate SetOffsetTemplate
,
write_template write_template WriteTemplate WriteTemplate WriteTemplate
Alternativen
create_ncc_model create_ncc_model CreateNccModel CreateNccModel CreateNccModel
,
create_template create_template CreateTemplate CreateTemplate CreateTemplate
Modul
Matching