create_template_rotT_create_template_rotCreateTemplateRotCreateTemplateRotcreate_template_rot (Operator)

Name

create_template_rotT_create_template_rotCreateTemplateRotCreateTemplateRotcreate_template_rot — Aufbereiten eines Musters für Template Matching mit Rotation.

Warnung

create_template_rotcreate_template_rotCreateTemplateRotCreateTemplateRotCreateTemplateRotcreate_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

create_template_rot(Template : : NumLevel, AngleStart, AngleExtend, AngleStep, Optimize, GrayValues : TemplateID)

Herror T_create_template_rot(const Hobject Template, const Htuple NumLevel, const Htuple AngleStart, const Htuple AngleExtend, const Htuple AngleStep, const Htuple Optimize, const Htuple GrayValues, Htuple* TemplateID)

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)

def create_template_rot(template: HObject, num_level: int, angle_start: float, angle_extend: float, angle_step: float, optimize: str, gray_values: str) -> HHandle

Beschreibung

create_template_rotcreate_template_rotCreateTemplateRotCreateTemplateRotCreateTemplateRotcreate_template_rot bereitet ein Muster, das als Bild übergeben wird, für das Template Matching vor. Als Erweiterung gegenüber create_templatecreate_templateCreateTemplateCreateTemplateCreateTemplatecreate_template kann das Matching später mit rotierten Mustern ausgeführt werden. Die Parameter AngleStartAngleStartAngleStartAngleStartangleStartangle_start und AngleExtendAngleExtendAngleExtendAngleExtendangleExtendangle_extend legen die maximale Rotation des Musters fest: AngleStartAngleStartAngleStartAngleStartangleStartangle_start gibt die größte Rotation gegen den Uhrzeiger an und AngleExtendAngleExtendAngleExtendAngleExtendangleExtendangle_extend die größte Rotation im Uhrzeigersinn relativ zu diesem Winkel. AngleExtendAngleExtendAngleExtendAngleExtendangleExtendangle_extend muss folglich immer kleiner als sein. Mit dem Parameter AngleStepAngleStepAngleStepAngleStepangleStepangle_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_rotcreate_template_rotCreateTemplateRotCreateTemplateRotCreateTemplateRotcreate_template_rot und einem hohen Speicherbedarf des erzeugten Templates. Der Speicherbedarf hängt von AngleExtendAngleExtendAngleExtendAngleExtendangleExtendangle_extend und AngleStepAngleStepAngleStepAngleStepangleStepangle_step ab. Die Anzahl der Pyramidenstufen kann dagegen vernachlässigt werden. Falls A die Fläche von TemplateTemplateTemplateTemplatetemplatetemplate ist, dann ist der Speicherbedarf M in Byte etwa:

Dem Template wird nach der Transformation eine Nummer zugewiesen (TemplateIDTemplateIDTemplateIDTemplateIDtemplateIDtemplate_id), die bei der weiteren Verarbeitung verwendet wird.

Die Beschreibung der weiteren Parameter ist bei create_templatecreate_templateCreateTemplateCreateTemplateCreateTemplatecreate_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

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

TemplateTemplateTemplateTemplatetemplatetemplate (input_object)  singlechannelimage objectHImageHObjectHImageHobject (byte)

Eingabebild, dessen Definitionsbereich für das Pattern Matching aufbereitet wird.

NumLevelNumLevelNumLevelNumLevelnumLevelnum_level (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Maximale Anzahl von Pyramidenebenen.

Defaultwert: 4

Werteliste: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

AngleStartAngleStartAngleStartAngleStartangleStartangle_start (input_control)  angle.rad HTuplefloatHTupleHtuple (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

AngleExtendAngleExtendAngleExtendAngleExtendangleExtendangle_extend (input_control)  angle.rad HTuplefloatHTupleHtuple (real) (double) (double) (double)

Maximale positive Abweichung von AngleStartAngleStartAngleStartAngleStartangleStartangle_start.

Defaultwert: 0.79

Wertevorschläge: 6.28, 3.14, 1.57, 0.79, 0.39

Restriktion: AngleExtend > 0

AngleStepAngleStepAngleStepAngleStepangleStepangle_step (input_control)  angle.rad HTuplefloatHTupleHtuple (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

OptimizeOptimizeOptimizeOptimizeoptimizeoptimize (input_control)  string HTuplestrHTupleHtuple (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"

GrayValuesGrayValuesGrayValuesGrayValuesgrayValuesgray_values (input_control)  string HTuplestrHTupleHtuple (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"

TemplateIDTemplateIDTemplateIDTemplateIDtemplateIDtemplate_id (output_control)  template HTemplate, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Nummer des Templates.

Ergebnis

Sind die Parameterwerte korrekt, dann liefert create_template_rotcreate_template_rotCreateTemplateRotCreateTemplateRotCreateTemplateRotcreate_template_rot den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

draw_regiondraw_regionDrawRegionDrawRegionDrawRegiondraw_region, reduce_domainreduce_domainReduceDomainReduceDomainReduceDomainreduce_domain, thresholdthresholdThresholdThresholdThresholdthreshold

Nachfolger

best_match_rotbest_match_rotBestMatchRotBestMatchRotBestMatchRotbest_match_rot, best_match_rot_mgbest_match_rot_mgBestMatchRotMgBestMatchRotMgBestMatchRotMgbest_match_rot_mg, adapt_templateadapt_templateAdaptTemplateAdaptTemplateAdaptTemplateadapt_template, set_reference_templateset_reference_templateSetReferenceTemplateSetReferenceTemplateSetReferenceTemplateset_reference_template, clear_templateclear_templateClearTemplateClearTemplateClearTemplateclear_template, set_offset_templateset_offset_templateSetOffsetTemplateSetOffsetTemplateSetOffsetTemplateset_offset_template, write_templatewrite_templateWriteTemplateWriteTemplateWriteTemplatewrite_template

Alternativen

create_ncc_modelcreate_ncc_modelCreateNccModelCreateNccModelCreateNccModelcreate_ncc_model, create_templatecreate_templateCreateTemplateCreateTemplateCreateTemplatecreate_template

Modul

Matching