2012-08-27 17 views
6

nie muszę roztwór roboczy ale szukam kogoś, kto może wypchnąć mnie w dobrym kierunku z kilku przydatnych podpowiedzi/Linki:pozycja prostego odniesienia w obrazie

Mam obrazu z w tym fiducial (może to być np. krzyż, kropka lub jakakolwiek prosta geometria). Samo źródło obrazu jest oświetlone w taki sposób, że człowiek nie będzie zadowolony z uzyskanego obrazu, ale kontrast dla fiducial jest bardzo dobry. Następnie mam wyraźny geometryczny opis tego fiducial (format danych wektorowych) i jego nominalną pozycję.

Teraz chcę, aby OpenCV znalazł fiducial na obrazie i zwrócił mi swoją prawdziwą, aktualną pozycję (i obrót dla fiduciali, gdzie to jest możliwe).

Jak można tego dokonać z OpenCV? Samouczki, które znalazłem, zawsze wykorzystują skomplikowane wzorce, takie jak twarze i obrazy, które nie są zoptymalizowane dla samego wykrywania przyczynowego, dlatego wszystkie używają bardzo skomplikowanych metod uczenia się/opisywania.

+0

Ponieważ pytanie jest obecnie napisane, wygląda na to, że chcesz, aby ktoś wykonał Twoją pracę domową/projekt. Proszę wyjaśnić, co próbowaliście wcześniej i jakie problemy napotykacie. – Sam

+1

Jak już stwierdzono w moim pytaniu, potrzebuję tylko wskazówek, aby znaleźć właściwy kierunek, bez kompletnego rozwiązania. Nie obwiniaj mnie za coś tylko dlatego, że po prostu nie przeczytałeś całkowicie mojego pytania. – Elmi

+0

Zgodnie z faq http://stackoverflow.com/faq Tak jest ** nie ** dla otwartych debat lub porady, ale dla konkretnych pytań programowania. Na pytanie nie można racjonalnie odpowiedzieć bez polemiki lub w krótkiej, konkretnej odpowiedzi. I przypuszczam, że twoja praca domowa polega na znalezieniu odpowiedniego algorytmu, więc po prostu poproś kogoś, aby powiedział, że brzmi źle – Sam

Odpowiedz

9

W zależności od Twojego certyfikatu możesz użyć różnych metod. Bardzo popularną metodą, już wdrożoną w OpenCV, jest SIFT, który znajduje niezmienne niezmienne skale w obrazie. Sposób postępowania jest:

  • Run SIFT na fiducial offline. Generuje to punkty kluczowe do śledzenia.

  • Run SIFT w czasie rzeczywistym (lub FAST, który może również generować przesiać deskryptory), aby znaleźć keypoints w kadrze.

  • Użyj dopasowujący (Flann dopasowujący, na przykład), aby dowiedzieć się, jakie keypoints znaleźć w obrazie correspong do fiducial.

  • Uruchom findhomography() dla dopasowanych punktów. Z znalezionej homografii macierzy H 3x3 można uzyskać obtain the camera pose.

Jest więcej zagadnień, ten, który lubię i jest dość aktualny i szybki.

+1

Tego właśnie szukałem. Fajne dzięki! – Elmi