WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Eigenschaften perspektivischer Verzerrung

 

beetleskin

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.08.2010, 15:40     Titel: Eigenschaften perspektivischer Verzerrung
  Antworten mit Zitat      
Hallo,

ich habe ein durchaus angewandtes mathematisches Problem im Bereich Eigenschaften der perspektivischen Verzerrung. Ich habe eine Bilderkennungssoftware geschrieben, die einen kreisförmigen Marker erkennt ([]http://dl.dropbox.com/u/1969191/texture.png). Ausgehen von einem Kamerabild kann ich die Position und Rotation des Markers sowohl auf der projezierten 2D-Bildebene als auch in 3D-"echte Welt Koordinaten" bestimmen. Letzteres allerdings fatalerweise ohne Vorzeichen ^^
Ein Kreis sieht nunmal von links und rechts betrachtet gleich perspektivisch verzerrt aus, man erhält auf der 2D-Bildebene die gleiche Ellipse. Das Problem war mir bekannt und ich dachte ich könnte es durch das Hinzufügen eines Orientierungspunktes lösen (den brauche ich ohnehin um überhaupt Rotationen rausrechnen zu können).
So sieht der Spaß aus:
[]http://dl.dropbox.com/u/1969191/x0_y0_z0.png
Die Z-Rotation (Tiefenachse) bekomme ich mit Vorzeichen, das ist kein Problem. Für die Erkennung gehe ich aber davon aus, dass die Z-Rotation 0 ist.
Mein Ansatz, für Y(vertikale Achse) und X(horizontal)- Rotationen die Vorzeichen zu bekommen sieht vor, dass ich mir die perspektivische Seitenverkürzung zu nutzen mache:
Der Orientierungspunkt hat eine genau festgelegte Position. Nun schaue ich mir beim Tracking an, ob die Position des Orientierungspunktes in eine bestimmte Richtung relativ verschoben zu seiner eigentlichen Position ist. Je nach dem wohin er optisch gesehen verschoben ist, dichte ich der jeweiligen Rotation ein Vorzeichen an:
Ist z.B. der Orientierungspunkt weiter links als er eigentlich sein sollte, schaue ich mir den Kreis von rechts an, die Y-Rotation ist positiv. Ist er weiter oben, schaut die Kamera von unten drauf usw.
Die Bilder bringen vll. etwas mehr Klarheit:
[]http://dl.dropbox.com/u/1969191/x0_y60_z0.png
[]http://dl.dropbox.com/u/1969191/x0_y-60_z0.png
[]http://dl.dropbox.com/u/1969191/x30_y0_z0.png
Das funktioniert sogar richtig gut für einzelne Messungen. Für Z-Rotation = 0 erkennt die Software sogar für kleine Winkel das Vorzeichen richtig (sieht man mit dem bloßen Auge kaum noch).
Wo ist nun das Problem?
Hier:
[]https://dl.dropbox.com/u/1969191/x30_y-50_z0.png
Kombiniert man X- und Y-Rotation verzerrt eine Rotation die andere. Sie wird quasi überdeckt. Hier in dem Bild sind X = 30°, Y = -50°
Der Orientierungspunkt befindet sich weiter rechts als er sollte, also schau ich von Links drauf, die Y-Rotation ist negativ. Hat die Software auch erkannt. Aber (das is undeutlich zu sehen) vertikal ist der Orientierungspunkt unterhalb seiner eigentlichen Position, d.h. die Software erkennt die X-Rotation als negativ, als ob man von oben schauen würde, das ist offensichtlich falsch...

Meine Notlösung ist über mehrere Frames und mit Hilfe von Bewegung die Vorzeichen richtig zu erkennen, das mach ich aber nur ungern.

Hat jemand vll. einen Vorschlag wie ich mit den gegebenen Mitteln die Rotationsvorzeichen aus einem einzigen Frame errechnen kann? Gibt es eine Lösung für das Problem, dass sich die Rotationen in der Verzerrung überlagern und die stärkste gewinnt? Ist es vll. garnicht möglich mit diesem Marker die Rotation zweifelsfrei zu bestimmen?

Ich hoffe jmd. hat nen Tipp

Danke fürs Lesen und Überlegen und Grüße ;)


Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.