KlassenKlassenKlassenKlassen | | | | Operatoren

create_template_rotcreate_template_rotCreateTemplateRotcreate_template_rotCreateTemplateRotCreateTemplateRot (Operator)

Name

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

Signatur

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

Herror create_template_rot(const Hobject Template, const Hlong NumLevel, double AngleStart, double AngleExtend, double AngleStep, const char* Optimize, const char* GrayValues, Hlong* 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)

Herror create_template_rot(Hobject Template, const HTuple& NumLevel, const HTuple& AngleStart, const HTuple& AngleExtend, const HTuple& AngleStep, const HTuple& Optimize, const HTuple& GrayValues, Hlong* TemplateID)

HTemplate HImage::CreateTemplateRot(const HTuple& NumLevel, const HTuple& AngleStart, const HTuple& AngleExtend, const HTuple& AngleStep, const HTuple& Optimize, const HTuple& GrayValues) const

void HTemplate::CreateTemplateRot(const HImage& Template, const HTuple& NumLevel, const HTuple& AngleStart, const HTuple& AngleExtend, const HTuple& AngleStep, const HTuple& Optimize, const HTuple& GrayValues)

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::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)

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

void HOperatorSetX.CreateTemplateRot(
[in] IHUntypedObjectX* Template, [in] VARIANT NumLevel, [in] VARIANT AngleStart, [in] VARIANT AngleExtend, [in] VARIANT AngleStep, [in] VARIANT Optimize, [in] VARIANT GrayValues, [out] VARIANT* TemplateID)

void HTemplateX.CreateTemplateRot(
[in] IHImageX* Template, [in] Hlong NumLevel, [in] double AngleStart, [in] double AngleExtend, [in] double AngleStep, [in] BSTR Optimize, [in] BSTR GrayValues)

IHTemplateX* HImageX.CreateTemplateRot(
[in] Hlong NumLevel, [in] double AngleStart, [in] double AngleExtend, [in] double AngleStep, [in] BSTR Optimize, [in] BSTR GrayValues)

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_rotcreate_template_rotCreateTemplateRotcreate_template_rotCreateTemplateRotCreateTemplateRot bereitet ein Muster, das als Bild übergeben wird, für das Template Matching vor. Als Erweiterung gegenüber create_templatecreate_templateCreateTemplatecreate_templateCreateTemplateCreateTemplate kann das Matching später mit rotierten Mustern ausgeführt werden. Die Parameter AngleStartAngleStartAngleStartAngleStartAngleStartangleStart und AngleExtendAngleExtendAngleExtendAngleExtendAngleExtendangleExtend legen die maximale Rotation des Musters fest: AngleStartAngleStartAngleStartAngleStartAngleStartangleStart gibt die größte Rotation gegen den Uhrzeiger an und AngleExtendAngleExtendAngleExtendAngleExtendAngleExtendangleExtend die größte Rotation im Uhrzeigersinn relativ zu diesem Winkel. AngleExtendAngleExtendAngleExtendAngleExtendAngleExtendangleExtend muss folglich immer kleiner als sein. Mit dem Parameter AngleStepAngleStepAngleStepAngleStepAngleStepangleStep 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_rotCreateTemplateRotcreate_template_rotCreateTemplateRotCreateTemplateRot und einem hohen Speicherbedarf des erzeugten Templates. Der Speichebedarf hängt von AngleExtendAngleExtendAngleExtendAngleExtendAngleExtendangleExtend und AngleStepAngleStepAngleStepAngleStepAngleStepangleStep 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 (TemplateIDTemplateIDTemplateIDTemplateIDTemplateIDtemplateID), die bei der weiteren Verarbeitung verwendet wird.

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

Parallelisierung

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 objectHImageHImageHImageHImageXHobject (byte)

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

NumLevelNumLevelNumLevelNumLevelNumLevelnumLevel (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Maximale Anzahl von Pyramidenebenen.

Defaultwert: 4

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

AngleStartAngleStartAngleStartAngleStartAngleStartangleStart (input_control)  angle.rad HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (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

AngleExtendAngleExtendAngleExtendAngleExtendAngleExtendangleExtend (input_control)  angle.rad HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Maximale posivite Abweichung von AngleStartAngleStartAngleStartAngleStartAngleStartangleStart.

Defaultwert: 0.79

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

Restriktion: AngleExtend > 0

AngleStepAngleStepAngleStepAngleStepAngleStepangleStep (input_control)  angle.rad HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (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 HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Art der Optimierung.

Defaultwert: 'sort' "sort" "sort" "sort" "sort" "sort"

Werteliste: 'none'"none""none""none""none""none", 'sort'"sort""sort""sort""sort""sort"

GrayValuesGrayValuesGrayValuesGrayValuesGrayValuesgrayValues (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (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"

TemplateIDTemplateIDTemplateIDTemplateIDTemplateIDtemplateID (output_control)  template HTemplate, HTupleHTupleHTemplate, HTupleHTemplateX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Nummer des Templates.

Ergebnis

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

Vorgänger

draw_regiondraw_regionDrawRegiondraw_regionDrawRegionDrawRegion, reduce_domainreduce_domainReduceDomainreduce_domainReduceDomainReduceDomain, thresholdthresholdThresholdthresholdThresholdThreshold

Nachfolger

best_match_rotbest_match_rotBestMatchRotbest_match_rotBestMatchRotBestMatchRot, best_match_rot_mgbest_match_rot_mgBestMatchRotMgbest_match_rot_mgBestMatchRotMgBestMatchRotMg, adapt_templateadapt_templateAdaptTemplateadapt_templateAdaptTemplateAdaptTemplate, set_reference_templateset_reference_templateSetReferenceTemplateset_reference_templateSetReferenceTemplateSetReferenceTemplate, clear_templateclear_templateClearTemplateclear_templateClearTemplateClearTemplate, set_offset_templateset_offset_templateSetOffsetTemplateset_offset_templateSetOffsetTemplateSetOffsetTemplate, write_templatewrite_templateWriteTemplatewrite_templateWriteTemplateWriteTemplate

Alternativen

create_ncc_modelcreate_ncc_modelCreateNccModelcreate_ncc_modelCreateNccModelCreateNccModel, create_templatecreate_templateCreateTemplatecreate_templateCreateTemplateCreateTemplate

Modul

Matching


KlassenKlassenKlassenKlassen | | | | Operatoren