Jestem nowym użytkownikiem OpenCV. Mam działającą próbkę Surf Detection. Teraz chcę umieścić model 3D na wykrytym obrazie.Jak znaleźć trójwymiarową macierz projekcyjną w wykrywaniu surfingu
Jak mogę znaleźć matrycę 3D Projekcyjna?
Jestem nowym użytkownikiem OpenCV. Mam działającą próbkę Surf Detection. Teraz chcę umieścić model 3D na wykrytym obrazie.Jak znaleźć trójwymiarową macierz projekcyjną w wykrywaniu surfingu
Jak mogę znaleźć matrycę 3D Projekcyjna?
Domyślam się, że mówimy o Rzeczywistości Rozszerzenia, ponieważ mówisz, że chcesz umieścić model 3D na wykrytym obrazie (w ramce kamery?). Kluczem do problemu jest zawsze wykrycie co najmniej 4 punktów, które pasują do innych 4 "kluczowych" w naszym znaczniku. Następnie, rozwiązując niektóre równania, otrzymamy naszą homografię, która pozwoli nam rzutować dowolny punkt.
W OpenCV jest funkcją, która wykonuje to zadanie: cvFindHomography
wystarczy par meczów, wybierz metodę (RANSAC, to znaczy), a otrzymasz Homography.
Następnie można rzutować punkty jak wyjaśniono here:
Użyłem cvFindHomography do wyświetlenia kwadratu testowego na obrazie, a następnie nazwano solvePnP, aby obliczyć macierz widoku modelu. –
Możliwe rozwiązanie: http://urbanar.blogspot.in/2011/04/from-homography-to-opengl-modelview.html –
Problemem jest zbyt złożony na to proste pytanie. Masz na myśli Homografię. Musisz przekazać kluczowe punkty wykryte surfowaniem do funkcji cvFindHomography –