Pracuję nad rekonstrukcją 3D. A teraz, kiedy biorę pod uwagę parę obrazów. Mam zestaw odpowiednich punktów. i mam dane mojego aparatu. Na przykład mam szczegóły ostrości, macierz rotacji i tłumaczenia (4 * 4). i chcę wyświetlać moje punkty w 3D (triangulacja). Tak więc, o ile poznałem jego dość prostą algebrę czynnikową. Ale nadal muszę to jasno zrozumieć. Czy ktoś ma pomysł, jak to zrobić? Pracuję nad matlab, więc muszę to wdrożyć! Mogę być znów zbyt szeroki lub cokolwiek innego. Ale proszę, prowadź mnie!3D rekonstrukcja z kalibrowanych zdjęć z kamery
Odpowiedz
Musisz obliczyć matrycę kamery na podstawie znanych atrybutów kamery; jest to skalowalna macierz projekcyjna, która mapuje jednorodny punkt 3D na współrzędne pikseli 2D. (Zauważ, że jeśli chcesz uzyskać przyzwoitą dokładność, musisz również zmierzyć i systematycznie poprawić zniekształcenie soczewki aparatu, ale to jest detal drugiego rzędu.)
Następnie pomnóż macierz kamery za pomocą macierzy poz (obrót 4x4/matryca tranlation wspomniałeś), aby uzyskać matrycę (słownie T
dla ogółu), który wystaje punkt w wybranym układzie współrzędnych 3D do (współrzędnych rektyfikowany) pikseli w aparacie:
pixel vector Q.x = T * point P.x
Q.y P.y
Q.z P.z
Q.w 1
pixel coordinates = (Q.x/Q.w, Q.y/Q.w)
"pixel depth" = Q.z/Q.w
można odwrócić tę matrycę, i użyj go do rzutowania współrzędnych pikseli na promienie 3D, wybierając dwie głębokości: jedną w lokalizacji kamery i drugą, która nie jest (najlepiej wybierz albo głębokość jednostki, albo punkt w nieskończoności). Nie można oczekiwać, że promienie przecinają się dokładnie, ale można uzyskać najlepsze dopasowanie do miejsca, w którym dwa odpowiednie promienie są najbliżej; bardziej ogólnie, można traktować przecięcie dowolnej liczby promieni jako problem najmniejszych kwadratów (najlepiej, zależnie od oczekiwanego błędu z każdego promienia).
- 1. Rekonstrukcja punktu 3D z dwóch punktów 2D?
- 2. Rekonstrukcja twarzy 3D
- 3. UIImagePickerController Robienie zdjęć z kamery - domyślnie do kwadratu
- 4. Obracanie zdjęć 3D za pomocą javascript
- 5. Pełna strona CSS 3D - implementacja kamery
- 6. JavaFX 3D - Jak ustawić różne kamery dla Grupy z obiektem 3D i SubScene z kontrolkami interfejsu użytkownika?
- 7. Algorytmy rekonstrukcji twarzy 3D
- 8. Jak zrobić kilka zdjęć przed odrzuceniem intencji kamery?
- 9. Tworzenie wykresu 3D z tablicy 3D numpy
- 10. usuwanie zasobu kamery w aparacie za pomocą ramek Zdjęć
- 11. pobierz bieżący folder z obrazem kamery
- 12. Przekształcanie z-indeksu 3D z firefoxem, zachowanie-3d nie zachowane
- 13. Rekonstrukcja pakietu HTTP
- 14. SurfaceView z podglądem kamery nie jest zniszczony
- 15. zdjęć zoptymalizować .png z PIL
- 16. Przesyłanie wielu zdjęć z siatkówką?
- 17. Tworzenie wideo z serii zdjęć?
- 18. Przesyłanie wielu zdjęć z podglądem
- 19. Projekt OpenCV Współrzędne 3D do współrzędnych kamery 2D
- 20. Osiągnij płynne przewijanie siatki zdjęć dzięki tysiącom zdjęć z dysku
- 21. Wyświetlanie punktu 3D na ekranie 2D za pomocą kamery z perspektywiczną kamerą
- 22. Włączanie tylnej kamery z HTML5
- 23. Zrzut ekranu z kamery internetowej
- 24. Ruch kamery z odpowiednich obrazów
- 25. Sterowanie urządzeniem z kamery C#
- 26. Problem z orientacją kamery OpenCV
- 27. Rekonstrukcja bezwzględnych adresów URL z względnych adresów URL na stronie
- 28. rekonstrukcja/pobranie kodu funkcji php
- 29. Ruch z 2D do 3D
- 30. Awaria aplikacji podczas próby pobrania zdjęć z biblioteki zdjęć za pomocą selektora zdjęć
nadal zbyt szeroki i niejasny. jesteśmy tu po to, aby Ci pomóc, a nie nauczyć Cię całego procesu lub wykonać całą pracę za Ciebie. –