get_component_relationsT_get_component_relationsGetComponentRelationsGetComponentRelations (Operator)

Name

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

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

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

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_relationsGetComponentRelationsGetComponentRelationsGetComponentRelations liefert die Relationen zwischen Modellkomponenten nachdem sie mit train_model_componentstrain_model_componentsTrainModelComponentsTrainModelComponentsTrainModelComponents trainiert worden sind. Mit dem Parameter ReferenceComponentReferenceComponentReferenceComponentReferenceComponentreferenceComponent kann eine Referenzkomponente ausgewählt werden. get_component_relationsget_component_relationsGetComponentRelationsGetComponentRelationsGetComponentRelations liefert dann die Relationen zwischen der Referenzkomponente und allen übrigen Komponenten im Modellbild (wenn ImageImageImageImageimage = 'model_image'"model_image""model_image""model_image""model_image" oder ImageImageImageImageimage = 0) oder in einem Trainingsbild (wenn ImageImageImageImageimage >= 1). Um die Relationen im i. Trainingsbild zu erhalten, muss ImageImageImageImageimage auf i gesetzt werden. Das Ergebnis des mit train_model_componentstrain_model_componentsTrainModelComponentsTrainModelComponentsTrainModelComponents durchgeführten Trainings muss in ComponentTrainingIDComponentTrainingIDComponentTrainingIDComponentTrainingIDcomponentTrainingID übergeben werden. ReferenceComponentReferenceComponentReferenceComponentReferenceComponentreferenceComponent 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_componentsTrainModelComponentsTrainModelComponentsTrainModelComponents).

Die Relationen werden sowohl in Form von Regionen in RelationsRelationsRelationsRelationsrelations als auch in Form von numerischen Werten in RowRowRowRowrow, ColumnColumnColumnColumncolumn, PhiPhiPhiPhiphi, Length1Length1Length1Length1length1, Length2Length2Length2Length2length2, AngleStartAngleStartAngleStartAngleStartangleStart und AngleExtentAngleExtentAngleExtentAngleExtentangleExtent zurückgeliefert.

Das Regionenobjekttupel RelationsRelationsRelationsRelationsrelations hat folgenden Aufbau: Für jede Komponente wird eine eigene Region zurückgeliefert. Somit beinhaltet RelationsRelationsRelationsRelationsrelations 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 ReferenceComponentReferenceComponentReferenceComponentReferenceComponentreferenceComponent 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_componentsTrainModelComponentsTrainModelComponentsTrainModelComponents). 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 RelationsRelationsRelationsRelationsrelations werden die Relationen auch in Form von numerischen Werten RowRowRowRowrow, ColumnColumnColumnColumncolumn, PhiPhiPhiPhiphi, Length1Length1Length1Length1length1, Length2Length2Length2Length2length2, AngleStartAngleStartAngleStartAngleStartangleStart und AngleExtentAngleExtentAngleExtentAngleExtentangleExtent 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 RowRowRowRowrow, ColumnColumnColumnColumncolumn, PhiPhiPhiPhiphi, Length1Length1Length1Length1length1 und Length2Length2Length2Length2length2 beschrieben (siehe gen_rectangle2gen_rectangle2GenRectangle2GenRectangle2GenRectangle2). Die Winkelrelation wird durch den Anfangswinkel AngleStartAngleStartAngleStartAngleStartangleStart und die Winkelausdehnung AngleExtentAngleExtentAngleExtentAngleExtentangleExtent beschrieben. Für die Referenzkomponente wird lediglich deren Position im Bild in RowRowRowRowrow und ColumnColumnColumnColumncolumn 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_relationsGetComponentRelationsGetComponentRelationsGetComponentRelations kann dazu genutzt werden, das Ergebnis des mit train_model_componentstrain_model_componentsTrainModelComponentsTrainModelComponentsTrainModelComponents 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_componentsTrainModelComponentsTrainModelComponentsTrainModelComponents erneut durchzuführen.

Ausführungsinformationen

Parameter

RelationsRelationsRelationsRelationsrelations (output_object)  region(-array) objectHRegionHRegionHobject *

Darstellung der Relationen in Form von Regionen.

ComponentTrainingIDComponentTrainingIDComponentTrainingIDComponentTrainingIDcomponentTrainingID (input_control)  component_training HComponentTraining, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle des Trainingsergebnisses.

ReferenceComponentReferenceComponentReferenceComponentReferenceComponentreferenceComponent (input_control)  integer HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Index der Referenzkomponente.

Restriktion: ReferenceComponent >= 0

ImageImageImageImageimage (input_control)  string HTupleHTupleHtuple (string / integer) (string / int / long) (HString / 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"

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

RowRowRowRowrow (output_control)  rectangle2.center.y(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Zeilenkoordinate des Mittelpunktes des Rechtecks, das die Relation beschreibt.

ColumnColumnColumnColumncolumn (output_control)  rectangle2.center.x(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Spaltenindex des Mittelpunktes des Rechtecks, das die Relation beschreibt.

PhiPhiPhiPhiphi (output_control)  rectangle2.angle.rad(-array) HTupleHTupleHtuple (real) (double) (double) (double)

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

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

Length1Length1Length1Length1length1 (output_control)  rectangle2.hwidth(-array) HTupleHTupleHtuple (real) (double) (double) (double)

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

Zusicherung: Length1 >= 0.0

Length2Length2Length2Length2length2 (output_control)  rectangle2.hheight(-array) HTupleHTupleHtuple (real) (double) (double) (double)

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

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

AngleStartAngleStartAngleStartAngleStartangleStart (output_control)  angle.rad(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Kleinster relativer Orientierungswinkel.

AngleExtentAngleExtentAngleExtentAngleExtentangleExtent (output_control)  angle.rad(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Ausdehnung des relativen Orientierungswinkelbereichs.

Ergebnis

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

Vorgänger

train_model_componentstrain_model_componentsTrainModelComponentsTrainModelComponentsTrainModelComponents

Nachfolger

train_model_componentstrain_model_componentsTrainModelComponentsTrainModelComponentsTrainModelComponents

Siehe auch

gen_rectangle2gen_rectangle2GenRectangle2GenRectangle2GenRectangle2

Modul

Matching