2010-11-18 11 views
5

Das Problem, das wir versuchen, das Problem der Ortung eines Punktes in zwei verschiedenen Darstellungen einer Ebene zu lösen. Die erste Ebene, die wir haben, wird gedreht, um eine Perspektive zu erzeugen. Die zweite ist eine 2D-Ansicht derselben Ebene. Wir haben 4 Punkte für jeden der Pläne, von denen wir wissen, dass sie gleichwertig sind. Die Frage ist, ob wir einen beliebigen Punkt in Ebene 1 haben, wie finden wir den entsprechenden Punkt in Ebene 2?Wie kann ich eine beliebige Ebene projizieren, die durch 4 Punkte auf einer 2d Ebene identifiziert wird?

Es ist wahrscheinlich am besten, den Anwendungsfall zu veranschaulichen, um die Frage am besten zu klären. Wir haben ein Bild auf der linken Seite.

Projective plane

alt text

2D-Layout-Diagramm Raum

alt text

So sind die Givens, die wir haben, sind die roten Quadrate aus beiden Bildern. Beachten Sie, dass ich, wenn möglich, möchte, dass der 2D-Raum nicht unbedingt ein Quadrat ist. Diese stehen uns im Voraus und bekannt zur Verfügung. Ich habe auch grüne Punkte auf dem Flugzeug im ersten Bild. Ich möchte eine Projektion des Punktes in Bild 1 auf den Platz in Bild 2 machen können.

Hinweis auch für das Bild 1 Ich habe keine definierte Fenster- oder Augenposition. Ich weiß nur, dass das rote Quadrat von Bild 1 eine Transformation des roten Quadratformbildes 2 ist und dass das Bild 2 im 2D-Raum ist.

+0

Es kann möglich sein, wenn Sie (x, y, z) für Ihre Fotos haben ... oder wenn Sie einige Z ... –

+2

Wenn Sie OpenCV mögen, ist dieses Problem bekannt, als die Homographie ('cv :: Findhomographie'). Wenn Sie fertig sind, wird jeder Punkt in Ihrem ersten Bild in der zweiten Ansicht abgebildet, wobei 'x' = Hx 'in homogenen Koordinaten angewendet wird. –

Antwort

6

Dies ist ein Spezialfall, um Abbildungen zwischen Vierecken zu finden, die gerade Linien beibehalten. Diese werden allgemein als homographische Transformationen bezeichnet. Hier ist einer der Quads ein Quadrat, das ist ein beliebter Sonderfall. Sie können diese Begriffe googlen ("Quad to Quad", etc), um Erklärungen und Code zu finden, aber hier sind einige für Sie.

Perspective Transform Estimation

a gaming forum discussion

extracting a quadrilateral image to a rectangle

Projective Warping & Mapping

ProjectiveMappings for ImageWarping von Paul Heckbert.

Die Mathematik ist nicht besonders angenehm, aber es ist auch nicht so schwer. Sie können auch einen Code von einem der obigen Links finden.

+0

Der erste Link war sehr hilfreich, danke. – Scott

Verwandte Themen