|
|
Bild in Draufsicht transformieren |
|
Denis |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.06.2021, 23:09
Titel: Bild in Draufsicht transformieren
|
|
Ich habe ein Bild, dass ich mit meiner Kamera aus einem Winkel von 46° aufgenommen habe und möchte es so umrechnen, als ob ich exakt von oben drauf schauen würde.
Das soll doch mit folgenden Matrizen funktionieren:
R = Ryaw*Rpitch*Rroll. x = RX wobei x das Transformierte Bild und X das aufgenommene Bild ist.
Meine Winkel sind Pitch = 46°, Roll = 2,11° und Yaw = 0°.
Wenn ich aber damit die Matrizen aufstelle und auf das Bild anwende, wird mein Bild einfach zu einer dünnen horizontalen bzw. vertikalen Linie. Weiß jemand woran das liegt, bzw. hat jemand einen Tipp, wie man die projektive Verzerrung entfernt, wenn man die Winkel der Kamera kennt?
Vielen Dank schon mal im Voraus.
|
|
|
|
|
Mmmartina |
Forum-Meister
|
|
Beiträge: 745
|
|
|
|
Anmeldedatum: 30.10.12
|
|
|
|
Wohnort: hier
|
|
|
|
Version: R2020a
|
|
|
|
|
|
Verfasst am: 22.06.2021, 21:07
Titel:
|
|
Ich stelle mal die ganz naive Frage: woher sollen denn die Informationen kommen, um die Pixel aus einem anderen Winkel zu betrachten?
So wie du es beschrieben hast, hast du ein Objekt (flaches Rechteck) erfolgreich im Raum gedreht.
Wenn du Bestandteile IM Bild drehen willst, muss du diese erst detektieren und dann entsprechend berechnen - wenn du das übliche Schachbrettmuster hast eben die Verzerrung bestimmen ... o.ä.
_________________
LG
Martina
"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
|
|
|
Denis |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.06.2021, 06:50
Titel:
|
|
Hallo Martina,
Danke für deine Antwort. Nein ich konnte das Bild eben noch gar nicht drehen. Ich habe eine Kamera mit Beschleunigungssensoren, daher weiß ich in welchem Winkel die Kamera zu der aufgenommenen Szene stand. Nun möchte ich das Bild, das ich aus einem bekannten Winkel aufgenommen habe in ein Bild umrechnen, als ob ich exakt von oben auf die Szene drauf schauen würde. Und das ist im Moment mein Problem. Wenn ich die entsprechenden Umrechnungsmatrizen aufstelle und auf das Bild anwende, bekomme ich nur einen lagen dünnen Strich.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 23.06.2021, 08:00
Titel:
|
|
Hallo,
ich bin nun kein Experte in Bildverarbeitung, aber:
poste doch, wie du die Umrechnungsmatrizen aufstellst. Wenn die Rechnung
R = Ryaw*Rpitch*Rroll. x = RX
an sich richtig ist, sind ja vielleicht die Matrizen falsch aufgestellt?
Ohne ein Ausgangsbild und die Matrizen ist das ganze jedenfalls sehr schwer nachvollziehbar.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Denis |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.06.2021, 08:31
Titel: Bild in Draufsicht transformieren
|
|
Hallo,
ich habe die Matrizen wie folgt aufgestellt:
Rpitch = [cosd(beta) 0 sind(beta); % beta
0 1 0;
-sind(beta) 0 cosd(beta)];
Rroll = [1 0 0;
0 cosd(gamma) -sind(gamma);
0 sind(gamma) cosd(gamma)];
Ryaw = [cosd(alpha) -sind(alpha) 0; %alpha
sind(alpha) cosd(alpha) 0;
0 0 1];
R = Ryaw*Rpitch*Rroll
Das Bild das ich aufgenommen habe befindet sich im Anhang.
Beschreibung: |
Das Bild wurde mit einer Neigung von 46° nach vorne und 2° zur Seite aufgenommen. |
|
Download |
Dateiname: |
untitled.jpg |
Dateigröße: |
237.82 KB |
Heruntergeladen: |
277 mal |
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 23.06.2021, 08:49
Titel:
|
|
Hallo,
und was nimmst du als x bzw. X? Du brauchst ja dann eine nx3-Matrix mit (x,y,z)-Koordinaten?
Je besser man deine Schritte nachvollziehen kann, desto eher kann man dir helfen.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Denis |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.06.2021, 10:43
Titel: Bild in Draufsicht transformieren
|
|
Hallo Harald,
hier ist mein Code (im Anhang). Ich habe ihn inzwischen abgeändert. Dies ist der aktuelle Stand.
Beschreibung: |
Der Code, mit dem ich versuche die Umrechnung durchzuführen |
|
Download |
Dateiname: |
Bildtransformation.pdf |
Dateigröße: |
76.59 KB |
Heruntergeladen: |
323 mal |
Beschreibung: |
|
Download |
Dateiname: |
untitled.jpg |
Dateigröße: |
237.82 KB |
Heruntergeladen: |
298 mal |
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|