2013-04-14 13 views
5

Ich habe eine einfache kleine iPhone-App (für akademische Zwecke) entwickelt, die es dem Benutzer ermöglicht, ein Bild von einem Objekt zu machen. Zu der Zeit, zu der das Bild aufgenommen wird, werden auch die Beschleunigungsmesserdaten von dem Telefon erfasst. Der Benutzer nimmt eine Top-Down-Ansicht (Vogelperspektive) des Bildes, was bedeutet, dass das Telefon vernünftigerweise in einem Winkel von 90 Grad zum Objekt stehen sollte. Allerdings kann die Vorstellung, dass der Winkel immer 90 Grad sein wird, nicht garantiert werden.Erhalten Top-Down-Ansicht des Bildes mit iPhone Beschleunigungsmesser Daten

Da ich die Beschleunigungsmesserdaten (x, y, z-Werte) habe, wenn das Bild aufgenommen wird, glaube ich, gibt es eine Möglichkeit, eine Transformationsmatrix zu erstellen, um das Bild so zu transformieren, als ob es aus einem 90 Grad genommen wurde Winkel. Ich bin mir jedoch nicht sicher, wie ich diese Matrix konstruieren soll.

Wie ich bereits erwähnt habe, ist dies zum Spielen/akademischen Zwecken, also sobald ich das Bild und x, y, z Daten erfassen, sende ich es einfach an einen meiner Computer für die weitere Verarbeitung. Die Verarbeitung wird mit Python und OpenCV durchgeführt.

Jede Hilfe oder Hinweise würden sehr geschätzt werden.

Antwort

3

Ihre Hausaufgaben

lesen Artikel

Diese Präsentationen geben Ihnen ein Gefühl für die Komplexität der Mathematik. - http://www.cs.auckland.ac.nz/compsci773s1t/lectures/773-GGpdfs/773GG-FundMatrix-A.pdf - http://www.robots.ox.ac.uk/~vgg/hzbook/hzbook1/HZepipolar.pdf

Die Antwort?

Von damit verbundene Frage Skewing an image using Perspective Transforms, Verwendung OpenCV Funktion cvWarpPerspective (Danke @ jeff7)

http://opencv.willowgarage.com/documentation/geometric_image_transformations.html

Sie müssen noch die Matrix erstellen, für das Sie cvGetPerspectiveTransform und erstellen Sie die Eingabe Vertex versuchen aus der Orientierungsinformation vom Sensor.

Oder, wenn der Winkel ziemlich klein sein wird, könnte eine affine Transformation genug gut aussehen (cvWarpAffine mit cvGetAffineTransform) http://docs.opencv.org/doc/tutorials/imgproc/imgtrans/warp_affine/warp_affine.html

Verwandte Themen