Forum: PC-Programmierung Ellipsenfit - Koeffizienten zu Parameter


von Studi (Gast)


Lesenswert?

Guten Tag,

ich bin derzeit eine Funktion am Programmieren, welche mir aus vielen 
Punkten einer Ellipse die dazu gehörige Ellipse berechnet. Nach langem 
googlen habe ich folgendes Paper [1] nachprogrammiert und funktioniert 
soweit einwandfrei.

Nun stehe ich vor dem Problem, dass ich nur die Koeffizienten der 
allgemeinen Gleichung eines Kegelschnitts erhalte. Für mich wären die 
Parameter der Ellipse wesentlich interessanter, also Mittelpunkt, 
"Radien" und Neigungswinkel.

Hat das jemand von euch schonmal gelöst? Also aus den Koeffizienten der 
Gleichung die Parameter der Ellipse berechnet? Oder kennt jemand eine 
Quelle wo sowas erwähnt wird? Google hilft mir da nicht, bzw. die 
Suchwörter führen nicht zum Ziel.

Auf der Seite [2] habe ich ein Matlab Script entdeckt, bei dem eine 
Umrechnung sogar durchgeführt wird. Passenderweise sogar das gleiche 
Paper genutzt wurde, ich verstehe die Umrechnung nur leider nicht. 
Entweder ich übersehe etwas oder es fehlt mir ganz einfach am 
Verständnis.

Ich hoffe meine Frage ist verständlich formuliert.

LG

[1] 
http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/FITZGIBBON/ELLIPSE/ellipse-pami.pdf

[2]
http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/FITZGIBBON/ELLIPSE/

von Hoppla ! (Gast)


Lesenswert?

Also. Das Ganze ist nicht sehr schwierig. Du hast N Gleichungen und zB 3 
Parameter. Das ergibt dann einen Quadratischen fit. Also die Gleichungen 
fuer einen Fit aufstellen, nach den Parametern ableiten, Null Setzen, 
und dann hat man die matrix. Werte einfuellen, loesen, gut ist. Also 
Referenz diene die Herleitung der Linearen Regression.

von Rainer Z. (razi)


Lesenswert?

Hai!

Studi schrieb:
> Nun stehe ich vor dem Problem, dass ich nur die
> Koeffizienten der allgemeinen Gleichung eines
> Kegelschnitts erhalte. Für mich wären die Parameter
> der Ellipse wesentlich interessanter, also Mittelpunkt,
> "Radien" und Neigungswinkel.
>
> Hat das jemand von euch schonmal gelöst?

Vermutlich schon, ja. Ich aber nicht ;-)

> Also aus den Koeffizienten der Gleichung die Parameter
> der Ellipse berechnet? Oder kennt jemand eine Quelle
> wo sowas erwähnt wird? Google hilft mir da nicht, bzw.
> die Suchwörter führen nicht zum Ziel.

Hauptachsentransformation?

Grusz,
Rainer

von Studi (Gast)


Lesenswert?

Rainer Ziegenbein schrieb:
> Hauptachsentransformation?

Vor ziemlich genau einer Stunde bin ich dort gelandet, hatte ich bisher 
nichts mit zu tun und auch nichts von gehört.

Dennoch habe ich den Neigungswinkel und Mittelpunkt schon erfolgreich 
berechnet :)

LG

von Sigi (Gast)


Lesenswert?

Statt auf Kegelschnitt und deren Parameter zu setzen, ohne
den mathematischen Hintergrund zu kennen heisst dem Algo
blind zu vertrauen.

Den Mittelpunkt der Ellipse zu finden sollte nicht alzu
schwer sein. Dann je nach Durchmesser schrittweise je
Winkel den Radius berechnen und damit dann den max. Radius
und den zugeh. Winkel bestimmen.

Falls es ein Kegelschnitt und nicht irgendeine "krumme"
Projektion ist, hast du die Hauptachse schon gefunden. Die
Nebenachse ist dazu senkrecht.

Vorteil: Eine Hauptachse finden man immer, die Nebenachse
als Senkrecht ist auch "eindeutig", damit hat man alle
Parameter um die Ellipse zu berechnen, selbst wenn die
Ellipse zu einem Kreis oder zu einer "Fastlinie" zusammenfällt.

von Mark (Gast)


Lesenswert?

Sind die Punkte der Elipse mathematisch eindeutig auf der Linie / dem 
Rand oder gibt es da auch Messfehler und Unschärfe?

von Hoppla ! (Gast)


Lesenswert?

Das Problem ist offensichtlich ueberbestimmt, dh man muss eine 
Approximation machen. zB mit einem Least square algorithmus.

von Studi (Gast)


Lesenswert?

Hoppla ! schrieb:
> Das Problem ist offensichtlich ueberbestimmt, dh man muss eine
> Approximation machen. zB mit einem Least square algorithmus.

Du hast es erfasst. Der [1] führt direkt zu dem Algorithmus :)

Mark schrieb:
> Sind die Punkte der Elipse mathematisch eindeutig auf der Linie / dem
> Rand oder gibt es da auch Messfehler und Unschärfe?

Gibt es, die Punkte habe ich im Rahmen der Bildverarbeitungsvorlesung 
aus einem Musterbild berechnet.


Das Problem ist aber bereits gelöst. Die Hauptachsentransformation war 
genau das was mich zu der Lösung geführt hat.

LG

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.