get_component_relationsT_get_component_relationsGetComponentRelationsGetComponentRelationsget_component_relations (Operator)
Name
get_component_relationsT_get_component_relationsGetComponentRelationsGetComponentRelationsget_component_relations — Liefert die in einem Trainingsergebnis gespeicherten Relationen zwischen den
Modellkomponenten zurück.
Signatur
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)
def get_component_relations(component_training_id: HHandle, reference_component: int, image: Union[str, int]) -> Tuple[HObject, Sequence[float], Sequence[float], Sequence[float], Sequence[float], Sequence[float], Sequence[float], Sequence[float]]
def get_component_relations_s(component_training_id: HHandle, reference_component: int, image: Union[str, int]) -> Tuple[HObject, float, float, float, float, float, float, float]
Beschreibung
get_component_relationsget_component_relationsGetComponentRelationsGetComponentRelationsGetComponentRelationsget_component_relations liefert die Relationen zwischen
Modellkomponenten nachdem sie mit train_model_componentstrain_model_componentsTrainModelComponentsTrainModelComponentsTrainModelComponentstrain_model_components
trainiert worden sind. Mit dem Parameter ReferenceComponentReferenceComponentReferenceComponentReferenceComponentreferenceComponentreference_component
kann eine Referenzkomponente ausgewählt werden.
get_component_relationsget_component_relationsGetComponentRelationsGetComponentRelationsGetComponentRelationsget_component_relations 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_componentsTrainModelComponentsTrainModelComponentsTrainModelComponentstrain_model_components
durchgeführten Trainings muss in ComponentTrainingIDComponentTrainingIDComponentTrainingIDComponentTrainingIDcomponentTrainingIDcomponent_training_id
übergeben werden. ReferenceComponentReferenceComponentReferenceComponentReferenceComponentreferenceComponentreference_component 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_componentsTrainModelComponentsTrainModelComponentsTrainModelComponentstrain_model_components).
Die Relationen werden sowohl in Form von Regionen in
RelationsRelationsRelationsRelationsrelationsrelations als auch in Form von numerischen Werten in
RowRowRowRowrowrow, ColumnColumnColumnColumncolumncolumn, PhiPhiPhiPhiphiphi, Length1Length1Length1Length1length1length_1,
Length2Length2Length2Length2length2length_2, AngleStartAngleStartAngleStartAngleStartangleStartangle_start und AngleExtentAngleExtentAngleExtentAngleExtentangleExtentangle_extent
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
ReferenceComponentReferenceComponentReferenceComponentReferenceComponentreferenceComponentreference_component 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_componentsTrainModelComponentsTrainModelComponentsTrainModelComponentstrain_model_components). 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, Length1Length1Length1Length1length1length_1, Length2Length2Length2Length2length2length_2,
AngleStartAngleStartAngleStartAngleStartangleStartangle_start und AngleExtentAngleExtentAngleExtentAngleExtentangleExtentangle_extent 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, Length1Length1Length1Length1length1length_1 und
Length2Length2Length2Length2length2length_2 beschrieben (siehe gen_rectangle2gen_rectangle2GenRectangle2GenRectangle2GenRectangle2gen_rectangle2). Die
Winkelrelation wird durch den Anfangswinkel AngleStartAngleStartAngleStartAngleStartangleStartangle_start und
die Winkelausdehnung AngleExtentAngleExtentAngleExtentAngleExtentangleExtentangle_extent 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_relationsGetComponentRelationsGetComponentRelationsGetComponentRelationsget_component_relations kann dazu genutzt
werden, das Ergebnis des mit train_model_componentstrain_model_componentsTrainModelComponentsTrainModelComponentsTrainModelComponentstrain_model_components
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_componentsTrainModelComponentsTrainModelComponentsTrainModelComponentstrain_model_components erneut durchzuführen.
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.
Parameter
RelationsRelationsRelationsRelationsrelationsrelations (output_object) region(-array) → objectHRegionHObjectHRegionHobject *
Darstellung der Relationen in Form von Regionen.
ComponentTrainingIDComponentTrainingIDComponentTrainingIDComponentTrainingIDcomponentTrainingIDcomponent_training_id (input_control) component_training → HComponentTraining, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle des Trainingsergebnisses.
ReferenceComponentReferenceComponentReferenceComponentReferenceComponentreferenceComponentreference_component (input_control) integer → HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Index der Referenzkomponente.
Restriktion: ReferenceComponent >= 0
ImageImageImageImageimageimage (input_control) string → HTupleUnion[str, int]HTupleHtuple (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"
"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) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Zeilenkoordinate des Mittelpunktes des Rechtecks,
das die Relation beschreibt.
ColumnColumnColumnColumncolumncolumn (output_control) rectangle2.center.x(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Spaltenindex des Mittelpunktes des Rechtecks,
das die Relation beschreibt.
PhiPhiPhiPhiphiphi (output_control) rectangle2.angle.rad(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Orientierung des Rechtecks, das die
Relation beschreibt (Bogenmaß).
Zusicherung: - pi / 2 < Phi && Phi <= pi / 2
Length1Length1Length1Length1length1length_1 (output_control) rectangle2.hwidth(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Erster Halbmesser (halbe Länge) des Rechtecks, das
die Relation beschreibt.
Zusicherung: Length1 >= 0.0
Length2Length2Length2Length2length2length_2 (output_control) rectangle2.hheight(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Zweiter Halbmesser (halbe Breite) des Rechtecks, das
die Relation beschreibt.
Zusicherung: Length2 >= 0.0 && Length2 <= Length1
AngleStartAngleStartAngleStartAngleStartangleStartangle_start (output_control) angle.rad(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Kleinster relativer Orientierungswinkel.
AngleExtentAngleExtentAngleExtentAngleExtentangleExtentangle_extent (output_control) angle.rad(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Ausdehnung des relativen Orientierungswinkelbereichs.
Ergebnis
Ist der Handle des Trainingsergebnisses gültig, dann liefert
get_component_relationsget_component_relationsGetComponentRelationsGetComponentRelationsGetComponentRelationsget_component_relations den Wert TRUE. Gegebenenfalls
wird eine Fehlerbehandlung durchgeführt.
Vorgänger
train_model_componentstrain_model_componentsTrainModelComponentsTrainModelComponentsTrainModelComponentstrain_model_components
Nachfolger
train_model_componentstrain_model_componentsTrainModelComponentsTrainModelComponentsTrainModelComponentstrain_model_components
Siehe auch
gen_rectangle2gen_rectangle2GenRectangle2GenRectangle2GenRectangle2gen_rectangle2
Modul
Matching