2010-11-09 18 views
6

Potrzebuję znaleźć znacznik taki jak te używane w Augmented Reality. Podobnie jak: alt text Mam solidne podstawy algebry i rachunku różniczkowego, ale bez żadnego doświadczenia w przetwarzaniu obrazu. Moją rzeczą jest PHP, SQL i inne.Znaleźć pozycję wzoru/znacznika wewnątrz zdjęcia

Po prostu chcę, żeby to zadziałało, przeczytałem teorię, która jest za tym i bardzo trudno mi to odczytać.

Główną ideą jest zrobienie tego jako proces wsadowy, więc nie jest wymagana interaktywność. Co sugerujesz? Wejście: przykładowy obraz. alt text

Wyjście: Współrzędne i wektor normalny w 3D znacznika.

Użycie tego będzie wiązało obrazy, które mają ten sam znacznik, aby je uprzestrzennić, prymitywną wersję photosync, którą moglibyśmy powiedzieć. Tylko bibelot z przypiętymi obrazkami, marker zachowuje się jak szpilka.

Przedstawione powtórki pozwoliły mi opublikować zdjęcia, dziękuję.

+0

Możesz dodać zdjęcia teraz. Z nadzieją, że sprawią, że pytanie będzie bardziej odpowiedzialne. – Lazer

+0

Dzięki @Lazer jest to teraz znacznie bardziej dostępne :) – Alfredo

Odpowiedz

1

Zawsze można spojrzeć bibliotek open source, takich jak ARToolkit i zobaczyć jak to działa, ale na ogół w celu uzyskania współrzędnych 3D markera trzeba by:

  1. Wykonaj camera calibration.
  2. Znajdź znacznik na obrazku, używając np. local features.
  3. Użycie skalibrowanych parametrów kamery i współrzędnych 2D znacznika do przybliżenia współrzędnych 3D.

Nigdy nie zaimplementowałem samodzielnie czegoś podobnego, ale myślę, że to ogólna koncepcja, którą powinieneś zastosować w swojej metodzie.

0

Twój problem może zostać rozwiązany przez oszacowanie położenia kamery z punktu widzenia n punktu. Kiedy możesz rozsądnie założyć, że wszystkie zależności są poprawne, powinien wystarczyć algorytm linear.

Ponieważ znacznik jest płaski, można również odtworzyć przesunięcie z homografii między płaszczyzną modelu a płaszczyzną obrazu (link). Jak zwykle najlepsze wyniki uzyskuje się dzięki algorytmom iteracyjnym (link).

+1

Czy możesz mi powiedzieć, jakie jest "oszacowanie perspektywy kamery punktowej"? – Alfredo

+1

Algorytm szacuje pozę kamery z rzutów n znanych punktów 3D (czy sprawdziłeś pierwsze łącze w powyższej odpowiedzi?). W twoim przypadku możesz użyć sześciu rogów wewnętrznego białego wielokąta. Dla uproszczenia możesz wybrać układ współrzędnych świata 3D, tak aby punkty 3D były następujące: (0,0,0), (2,0,0), (0,2,0), (1,2,0), (2 , 1,0), (1,1,0). Następnie mierzysz ich pozycję w znormalizowanych współrzędnych obrazu (musisz mieć skalibrowaną kamerę). Na koniec przywołujesz liniowy algorytm PnP i pozyskujesz pozę kamery. – ssegvic

Powiązane problemy