| Operatoren |
elliptic_axis — Ermitteln der Parameter der äquivalenten Ellipse.
Der Operator elliptic_axis berechnet die Radien Ra und Rb sowie die Orientierung Phi der äquivalenten Ellipse mit der gleichen Orientierung und dem gleichen Seitenverhältnis wie die Eingaberegion Regions. Mehrere Eingaberegionen können in Form eines Tupels übergeben werden. Ra repräsentiert die Länge des Hauptradius der Ellipse während der Radius Rb den Nebenradius der Ellipse repräsentiert. Die Orientierung der Hauptachse bezüglich der x-Achse wird im Winkel Phi zurückgegeben und ist im Bogenmaß angegeben. Die Hauptachse der Ellipse entspricht der Hauptachse des Trägheitsmoments der Eingaberegion.
In der Dokumentation zu diesem Kapitel (Regionen / Merkmale) finden Sie ein Bild mit Regionen, die sich in Phi, Ra und Rb unterscheiden.
Berechnung:
Seien die Momente , und normiert auf die Fläche gegeben (siehe moments_region_2nd), dann berechnen sich die Radien Ra und Rb zu:
Die Orientierung Phi ist definiert durch:
Wird mehr als eine Region übergeben, werden die Ergebnisse in Form von Tupeln zurückgeliefert, wobei der Index eines Tupelelements dem Index der zugehörigen Eingabregion entspricht.
Wird eine leere Region übergeben, haben alle Parameter den Wert 0.0, soweit kein anderes Verhalten eingestellt wurde (siehe set_system('no_object_result',<Result>)).
Es ist zu beachten, dass, wie bei allen regionenmomentenbasierten Operatoren, die Pixel als mathematische Punkte ohne flächenhafte Ausdehnung betrachtet werden, die durch die Mitte des jeweiligen Pixels gegeben sind. Daraus folgt, dass Ra und Rb auch den Wert 0 annehmen können. Für eine leere Region und eine Region, die aus genau einem Punkt besteht, wird folglich Ra = Rb = 0 zurückgeliefert. Weiterhin wird für Regionen, deren Punkte genau auf einer Geraden liegen (also z.B. ein Pixel hohe horizontale Regionen oder ein Pixel breite vertikale Regionen) Rb = 0 zurückgeliefert.
Eingaberegion(en).
Hauptradius (normiert auf die Fläche).
Zusicherung: Ra >= 0.0
Nebenradius (normiert auf die Fläche).
Zusicherung: Rb >= 0.0 && Rb <= Ra
Winkel zwischen Hauptradius und x-Achse im Bogenmaß.
Zusicherung: - pi / 2 < Phi && Phi <= pi / 2
read_image(Image,'fabrik')
regiongrowing(Image,Seg,5,5,6,100)
elliptic_axis(Seg,Ra,Rb,Phi)
area_center(Seg,_,Row,Column)
gen_ellipse(Ellipses,Row,Column,Phi,Ra,Rb)
dev_set_draw('margin')
dev_display(Ellipses)
Sei F die Fläche einer Region, dann beträgt die Laufzeitkomplexität im Mittel O(sqrt(F)).
elliptic_axis liefert den Wert 2 (H_MSG_TRUE), falls die Eingabe nicht leer ist. Das Verhalten bei leerer Eingabe (keine Eingaberegionen vorhanden) lässt sich mittels set_system('no_object_result',<Result>) festlegen. Das Verhalten bei einer leeren Region (Region ist die leere Menge) wird mit set_system('empty_region_result',<Result>) bestimmt. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
threshold, regiongrowing, connection
smallest_rectangle2, orientation_region
moments_region_2nd, select_shape, set_shape
R. Haralick, L. Shapiro „Computer and Robot Vision“ Addison-Wesley, 1992, pp. 73-75
Foundation
| Operatoren |