2010-11-18 12 views
5

Problem, na którym próbujemy rozwiązać problem lokalizacji punktu w dwóch różnych reprezentacjach samolotu. Pierwszy samolot, który mamy, jest obracany, aby stworzyć perspektywę; drugi to widok 2d tej samej płaszczyzny. Mamy 4 punkty na każdym z planów, o których wiemy, że są równoważne. Pytanie brzmi, czy mamy punkt arbitralny na płaszczyźnie 1, w jaki sposób znajdujemy odpowiadający punkt na płaszczyźnie 2?Jak mogę rzutować dowolną płaszczyznę zidentyfikowaną przez 4 punkty na płaszczyznę 2d?

Najlepiej jest zilustrować przypadek użycia, aby jak najlepiej wyjaśnić pytanie. Mamy obraz zilustrowany po lewej stronie.

Projective plane

alt text

schemat układu 2D przestrzeni

alt text

Więc Givens, które mamy są czerwone kwadraty z obu zdjęciach. Zauważ, że jeśli to możliwe, chciałbym, aby było możliwe, że przestrzeń 2D nie musi być kwadratem. Są one dostępne nam z wyprzedzeniem i znane. Mam również zielone kropki ułożone na płaszczyźnie na pierwszym obrazie. Chciałbym móc wykonać rzut kropki na obrazku 1 na przestrzeń na obrazku 2.

Uwaga także dla obrazu 1 Nie mam zdefiniowanego okna ani pozycji oczu. Po prostu wiem, że czerwony kwadrat z obrazu 1 jest transformacją obrazu w kształcie kwadratu czerwonego 2 i że obraz 2 znajduje się w przestrzeni 2D.

+0

Może być to możliwe, jeśli posiadasz (x, y, z) dla swoich punktów fotograficznych ... lub jeśli ty przypuszczasz, że niektóre z ... –

+2

Jeśli lubisz OpenCV, problem ten znany jest jako znalezienie homografii (cv :: findhomography'). Po zakończeniu każdy punkt na pierwszym obrazie jest mapowany do drugiego widoku, stosując 'x '= Hx' w jednorodnych współrzędnych. –

Odpowiedz

6

Jest to szczególny przypadek znajdowania odwzorowań między czworobokami zachowującymi proste linie. Są to na ogół nazywane przekształcenia homograficzne. Tutaj jeden z quadów to kwadrat, więc jest to popularny specjalny przypadek. Możesz używać tych terminów ("quad to quad", etc), aby znaleźć wyjaśnienia i kod, ale oto niektóre z nich.

Perspective Transform Estimation

a gaming forum discussion

extracting a quadrilateral image to a rectangle

Projective Warping & Mapping

ProjectiveMappings for ImageWarping Paul Heckbert.

Matematyka nie jest szczególnie przyjemna, ale nie jest też trudna. Możesz również znaleźć kod z jednego z powyższych linków.

+0

Pierwszy link był bardzo pomocny, dzięki. – Scott

Powiązane problemy