get_component_relations
— Liefert die in einem Trainingsergebnis gespeicherten Relationen zwischen den
Modellkomponenten zurück.
get_component_relations( : Relations : ComponentTrainingID, ReferenceComponent, Image : Row, Column, Phi, Length1, Length2, AngleStart, AngleExtent)
get_component_relations
liefert die Relationen zwischen
Modellkomponenten nachdem sie mit train_model_components
trainiert worden sind. Mit dem Parameter ReferenceComponent
kann eine Referenzkomponente ausgewählt werden.
get_component_relations
liefert dann die Relationen zwischen
der Referenzkomponente und allen übrigen Komponenten im Modellbild
(wenn Image
= 'model_image' oder Image
= 0) oder in einem Trainingsbild (wenn Image
>= 1). Um die Relationen im
i. Trainingsbild zu erhalten, muss Image
auf i
gesetzt werden. Das Ergebnis des mit train_model_components
durchgeführten Trainings muss in ComponentTrainingID
übergeben werden. ReferenceComponent
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_components
).
Die Relationen werden sowohl in Form von Regionen in
Relations
als auch in Form von numerischen Werten in
Row
, Column
, Phi
, Length1
,
Length2
, AngleStart
und AngleExtent
zurückgeliefert.
Das Regionenobjekttupel Relations
hat folgenden Aufbau: Für
jede Komponente wird eine eigene Region zurückgeliefert. Somit
beinhaltet Relations
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
ReferenceComponent
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_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 Relations
werden die
Relationen auch in Form von numerischen Werten Row
,
Column
, Phi
, Length1
, Length2
,
AngleStart
und AngleExtent
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
Row
, Column
, Phi
, Length1
und
Length2
beschrieben (siehe gen_rectangle2
). Die
Winkelrelation wird durch den Anfangswinkel AngleStart
und
die Winkelausdehnung AngleExtent
beschrieben. Für die
Referenzkomponente wird lediglich deren Position im Bild in
Row
und Column
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_relations
kann dazu genutzt
werden, das Ergebnis des mit train_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_components
erneut durchzuführen.
Relations
(output_object) region(-array) →
object
Darstellung der Relationen in Form von Regionen.
ComponentTrainingID
(input_control) component_training →
(handle)
Handle des Trainingsergebnisses.
ReferenceComponent
(input_control) integer →
(integer)
Index der Referenzkomponente.
Restriktion: ReferenceComponent >= 0
Image
(input_control) string →
(string / integer)
Bild, für das die Relationen zwischen den Komponenten zurückgeliefert werden sollen.
Defaultwert: 'model_image'
Wertevorschläge: 'model_image' , 0, 1, 2, 3, 4, 5, 6, 7, 8
Row
(output_control) rectangle2.center.y(-array) →
(real)
Zeilenkoordinate des Mittelpunktes des Rechtecks, das die Relation beschreibt.
Column
(output_control) rectangle2.center.x(-array) →
(real)
Spaltenindex des Mittelpunktes des Rechtecks, das die Relation beschreibt.
Phi
(output_control) rectangle2.angle.rad(-array) →
(real)
Orientierung des Rechtecks, das die Relation beschreibt (Bogenmaß).
Zusicherung: - pi / 2 < Phi && Phi <= pi / 2
Length1
(output_control) rectangle2.hwidth(-array) →
(real)
Erster Halbmesser (halbe Länge) des Rechtecks, das die Relation beschreibt.
Zusicherung: Length1 >= 0.0
Length2
(output_control) rectangle2.hheight(-array) →
(real)
Zweiter Halbmesser (halbe Breite) des Rechtecks, das die Relation beschreibt.
Zusicherung: Length2 >= 0.0 && Length2 <= Length1
AngleStart
(output_control) angle.rad(-array) →
(real)
Kleinster relativer Orientierungswinkel.
AngleExtent
(output_control) angle.rad(-array) →
(real)
Ausdehnung des relativen Orientierungswinkelbereichs.
Ist der Handle des Trainingsergebnisses gültig, dann liefert
get_component_relations
den Wert 2 (H_MSG_TRUE). Gegebenenfalls
wird eine Fehlerbehandlung durchgeführt.
Matching