KlassenKlassenKlassenKlassen | | | | Operatoren

get_component_relationsget_component_relationsGetComponentRelationsget_component_relationsGetComponentRelationsGetComponentRelations (Operator)

Name

get_component_relationsget_component_relationsGetComponentRelationsget_component_relationsGetComponentRelationsGetComponentRelations — Liefert die in einem Trainingsergebnis gespeicherten Relationen zwischen den Modellkomponenten zurück.

Signatur

get_component_relations( : Relations : ComponentTrainingID, ReferenceComponent, Image : Row, Column, Phi, Length1, Length2, AngleStart, AngleExtent)

Herror get_component_relations(Hobject* Relations, const Hlong ComponentTrainingID, const Hlong ReferenceComponent, const char* Image, double* Row, double* Column, double* Phi, double* Length1, double* Length2, double* AngleStart, double* AngleExtent)

Herror T_get_component_relations(Hobject* Relations, const Htuple ComponentTrainingID, const Htuple ReferenceComponent, const Htuple Image, Htuple* Row, Htuple* Column, Htuple* Phi, Htuple* Length1, Htuple* Length2, Htuple* AngleStart, Htuple* AngleExtent)

Herror get_component_relations(Hobject* Relations, const HTuple& ComponentTrainingID, const HTuple& ReferenceComponent, const HTuple& Image, double* Row, double* Column, double* Phi, double* Length1, double* Length2, double* AngleStart, double* AngleExtent)

Herror get_component_relations(Hobject* Relations, const HTuple& ComponentTrainingID, const HTuple& ReferenceComponent, const HTuple& Image, HTuple* Row, HTuple* Column, HTuple* Phi, HTuple* Length1, HTuple* Length2, HTuple* AngleStart, HTuple* AngleExtent)

HRegionArray HComponentTraining::GetComponentRelations(const HTuple& ReferenceComponent, const HTuple& Image, HTuple* Row, HTuple* Column, HTuple* Phi, HTuple* Length1, HTuple* Length2, HTuple* AngleStart, HTuple* AngleExtent) const

void GetComponentRelations(HObject* Relations, const HTuple& ComponentTrainingID, const HTuple& ReferenceComponent, const HTuple& Image, HTuple* Row, HTuple* Column, HTuple* Phi, HTuple* Length1, HTuple* Length2, HTuple* AngleStart, HTuple* AngleExtent)

HRegion HComponentTraining::GetComponentRelations(Hlong ReferenceComponent, const HTuple& Image, HTuple* Row, HTuple* Column, HTuple* Phi, HTuple* Length1, HTuple* Length2, HTuple* AngleStart, HTuple* AngleExtent) const

HRegion HComponentTraining::GetComponentRelations(Hlong ReferenceComponent, const HString& Image, double* Row, double* Column, double* Phi, double* Length1, double* Length2, double* AngleStart, double* AngleExtent) const

HRegion HComponentTraining::GetComponentRelations(Hlong ReferenceComponent, const char* Image, double* Row, double* Column, double* Phi, double* Length1, double* Length2, double* AngleStart, double* AngleExtent) const

void HOperatorSetX.GetComponentRelations(
[out] IHUntypedObjectX*Relations, [in] VARIANT ComponentTrainingID, [in] VARIANT ReferenceComponent, [in] VARIANT Image, [out] VARIANT* Row, [out] VARIANT* Column, [out] VARIANT* Phi, [out] VARIANT* Length1, [out] VARIANT* Length2, [out] VARIANT* AngleStart, [out] VARIANT* AngleExtent)

IHRegionX* HComponentTrainingX.GetComponentRelations(
[in] Hlong ReferenceComponent, [in] VARIANT Image, [out] VARIANT* Row, [out] VARIANT* Column, [out] VARIANT* Phi, [out] VARIANT* Length1, [out] VARIANT* Length2, [out] VARIANT* AngleStart, [out] VARIANT* AngleExtent)

static void HOperatorSet.GetComponentRelations(out HObject relations, HTuple componentTrainingID, HTuple referenceComponent, HTuple image, out HTuple row, out HTuple column, out HTuple phi, out HTuple length1, out HTuple length2, out HTuple angleStart, out HTuple angleExtent)

HRegion HComponentTraining.GetComponentRelations(int referenceComponent, HTuple image, out HTuple row, out HTuple column, out HTuple phi, out HTuple length1, out HTuple length2, out HTuple angleStart, out HTuple angleExtent)

HRegion HComponentTraining.GetComponentRelations(int referenceComponent, string image, out double row, out double column, out double phi, out double length1, out double length2, out double angleStart, out double angleExtent)

Beschreibung

get_component_relationsget_component_relationsGetComponentRelationsget_component_relationsGetComponentRelationsGetComponentRelations liefert die Relationen zwischen Modellkomponenten nachdem sie mit train_model_componentstrain_model_componentsTrainModelComponentstrain_model_componentsTrainModelComponentsTrainModelComponents trainiert worden sind. Mit dem Parameter ReferenceComponentReferenceComponentReferenceComponentReferenceComponentReferenceComponentreferenceComponent kann eine Referenzkomponente ausgewählt werden. get_component_relationsget_component_relationsGetComponentRelationsget_component_relationsGetComponentRelationsGetComponentRelations liefert dann die Relationen zwischen der Referenzkomponente und allen übrigen Komponenten im Modellbild (wenn ImageImageImageImageImageimage = 'model_image'"model_image""model_image""model_image""model_image""model_image" oder ImageImageImageImageImageimage = 0) oder in einem Trainingsbild (wenn ImageImageImageImageImageimage >= 1). Um die Relationen im i. Trainingsbild zu erhalten, muss ImageImageImageImageImageimage auf i gesetzt werden. Das Ergebnis des mit train_model_componentstrain_model_componentsTrainModelComponentstrain_model_componentsTrainModelComponentsTrainModelComponents durchgeführten Trainings muss in ComponentTrainingIDComponentTrainingIDComponentTrainingIDComponentTrainingIDComponentTrainingIDcomponentTrainingID übergeben werden. ReferenceComponentReferenceComponentReferenceComponentReferenceComponentReferenceComponentreferenceComponent beschreibt den Index der entsprechenden Referenzkomponente und muss somit im Bereich von 0 bis n-1 liegen, wenn n die Anzahl der Modellkomponenten darstellt (siehe train_model_componentstrain_model_componentsTrainModelComponentstrain_model_componentsTrainModelComponentsTrainModelComponents).

Die Relationen werden sowohl in Form von Regionen in RelationsRelationsRelationsRelationsRelationsrelations als auch in Form von numerischen Werten in RowRowRowRowRowrow, ColumnColumnColumnColumnColumncolumn, PhiPhiPhiPhiPhiphi, Length1Length1Length1Length1Length1length1, Length2Length2Length2Length2Length2length2, AngleStartAngleStartAngleStartAngleStartAngleStartangleStart und AngleExtentAngleExtentAngleExtentAngleExtentAngleExtentangleExtent zurückgeliefert.

Das Regionenobjekttupel RelationsRelationsRelationsRelationsRelationsrelations hat folgenden Aufbau: Für jede Komponente wird eine eigene Region zurückgeliefert. Somit beinhaltet RelationsRelationsRelationsRelationsRelationsrelations n Regionen, wobei die Reihenfolge der Regionen im Tupel durch den Index der entsprechenden Komponenten festgelegt ist. Die Positionen aller Komponenten im Bild werden durch Kreise mit einem Radius von 3 Pixel dargestellt. Für jede Komponente, die nicht der Referenzkomponente ReferenceComponentReferenceComponentReferenceComponentReferenceComponentReferenceComponentreferenceComponent entspricht, werden zusätzlich die Positionsrelation und die Winkelrelation relativ zur Referenzkomponente dargestellt. Die Positionsrelation wird dabei durch ein Rechteck und die Winkelrelation durch einen Kreissektor mit einem Radius von 30 Pixel dargestellt. Der Kreismittelpunkt liegt dabei an der mittleren relativen Position der Komponente. Das Rechteck beschreibt die Referenzpunktbewegung der jeweiligen Komponente relativ zur Lage der Referenzkomponente, der Öffnungswinkel des Kreissektors beschreibt die Variation der relativen Orientierung (siehe train_model_componentstrain_model_componentsTrainModelComponentstrain_model_componentsTrainModelComponentsTrainModelComponents). Eine relative Orientierung von 0 entspricht der relativen Orientierung der beiden Komponenten im Modellbild. Zeigen die beiden Komponenten in allen Bildern die gleiche relative Orientierung entartet der Kreissektor demzufolge zu einer Geraden.

Neben dem Regionenobjekttupel RelationsRelationsRelationsRelationsRelationsrelations werden die Relationen auch in Form von numerischen Werten RowRowRowRowRowrow, ColumnColumnColumnColumnColumncolumn, PhiPhiPhiPhiPhiphi, Length1Length1Length1Length1Length1length1, Length2Length2Length2Length2Length2length2, AngleStartAngleStartAngleStartAngleStartAngleStartangleStart und AngleExtentAngleExtentAngleExtentAngleExtentAngleExtentangleExtent zurückgeliefert. Diese Parameter sind Tupel der Länge n und enthalten die Relationen aller Komponenten relativ zur Referenzkomponente, wobei die Reihenfolge der Werte in den Tupeln durch den Index der entsprechenden Komponenten festgelegt ist. Die Positionsrelation wird dabei durch die Parameter des entsprechenden Rechtecks RowRowRowRowRowrow, ColumnColumnColumnColumnColumncolumn, PhiPhiPhiPhiPhiphi, Length1Length1Length1Length1Length1length1 und Length2Length2Length2Length2Length2length2 beschrieben (siehe gen_rectangle2gen_rectangle2GenRectangle2gen_rectangle2GenRectangle2GenRectangle2). Die Winkelrelation wird durch den Anfangswinkel AngleStartAngleStartAngleStartAngleStartAngleStartangleStart und die Winkelausdehnung AngleExtentAngleExtentAngleExtentAngleExtentAngleExtentangleExtent beschrieben. Für die Referenzkomponente wird lediglich deren Position im Bild in RowRowRowRowRowrow und ColumnColumnColumnColumnColumncolumn zurückgeliefert. Alle anderen Werte sind dagegen auf 0 gesetzt.

Wurde die Referenzkomponente im Bild nicht gefunden, so wird ein Tupel leerer Regionen zurückgeliefert und die entsprechenden Parameterwerte werden auf 0 gesetzt.

Der Operator get_component_relationsget_component_relationsGetComponentRelationsget_component_relationsGetComponentRelationsGetComponentRelations kann dazu genutzt werden, das Ergebnis des mit train_model_componentstrain_model_componentsTrainModelComponentstrain_model_componentsTrainModelComponentsTrainModelComponents durchgeführten Trainings zu visualisieren. Damit ist es möglich, die in den Trainingsbildern enthaltenen Variationen einzuschätzen. Eventuell kann es sinnvoll sein, mit einem veränderten Satz von Trainingsbildern das Training mit train_model_componentstrain_model_componentsTrainModelComponentstrain_model_componentsTrainModelComponentsTrainModelComponents erneut durchzuführen.

Parallelisierung

Parameter

RelationsRelationsRelationsRelationsRelationsrelations (output_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject *

Darstellung der Relationen in Form von Regionen.

ComponentTrainingIDComponentTrainingIDComponentTrainingIDComponentTrainingIDComponentTrainingIDcomponentTrainingID (input_control)  component_training HComponentTraining, HTupleHTupleHComponentTraining, HTupleHComponentTrainingX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Handle des Trainingsergebnisses.

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

Index der Referenzkomponente.

Restriktion: ReferenceComponent >= 0

ImageImageImageImageImageimage (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong) (BSTR / Hlong) (char* / Hlong)

Bild, für das die Relationen zwischen den Komponenten zurückgeliefert werden sollen.

Defaultwert: 'model_image' "model_image" "model_image" "model_image" "model_image" "model_image"

Wertevorschläge: 'model_image'"model_image""model_image""model_image""model_image""model_image", 0, 1, 2, 3, 4, 5, 6, 7, 8

RowRowRowRowRowrow (output_control)  rectangle2.center.y(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Zeilenkoordinate des Mittelpunktes des Rechtecks, das die Relation beschreibt.

ColumnColumnColumnColumnColumncolumn (output_control)  rectangle2.center.x(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Spaltenindex des Mittelpunktes des Rechtecks, das die Relation beschreibt.

PhiPhiPhiPhiPhiphi (output_control)  rectangle2.angle.rad(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Orientierung des Rechtecks, das die Relation beschreibt (Bogenmaß).

Zusicherung: - pi / 2 < Phi && Phi <= pi / 2

Length1Length1Length1Length1Length1length1 (output_control)  rectangle2.hwidth(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Erster Halbmesser (halbe Länge) des Rechtecks, das die Relation beschreibt.

Zusicherung: Length1 >= 0.0

Length2Length2Length2Length2Length2length2 (output_control)  rectangle2.hheight(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Zweiter Halbmesser (halbe Breite) des Rechtecks, das die Relation beschreibt.

Zusicherung: Length2 >= 0.0 && Length2 <= Length1

AngleStartAngleStartAngleStartAngleStartAngleStartangleStart (output_control)  angle.rad(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Kleinster relativer Orientierungswinkel.

AngleExtentAngleExtentAngleExtentAngleExtentAngleExtentangleExtent (output_control)  angle.rad(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Ausdehnung des relativen Orientierungswinkelbereichs.

Ergebnis

Ist der Handle des Trainingsergebnisses gültig, dann liefert get_component_relationsget_component_relationsGetComponentRelationsget_component_relationsGetComponentRelationsGetComponentRelations den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

train_model_componentstrain_model_componentsTrainModelComponentstrain_model_componentsTrainModelComponentsTrainModelComponents

Nachfolger

train_model_componentstrain_model_componentsTrainModelComponentstrain_model_componentsTrainModelComponentsTrainModelComponents

Siehe auch

gen_rectangle2gen_rectangle2GenRectangle2gen_rectangle2GenRectangle2GenRectangle2

Modul

Matching


KlassenKlassenKlassenKlassen | | | | Operatoren