Analiza konturów.
: 26 sie 2012 18:47
Mam dwa obrazy z tym samym obiektem.
Jeden obraz nazwijmy template a drugi target. Na drugim obrazie przedmiot jest obrócony przesunięty itd.
Próbuję znaleźć contours distances za pomocą kontrolki Compute Contours Distances. Wykryłem kontury na template i na target, stworzyłem match contour pattern oraz jako Template Contour Image kontrolki Compute contours distance użyłem obrazu nauczonego za pomocą Learn Contour Pattern. Otrzymuje jakieś wyliczone Distances.
Chciałbym teraz zobaczyć które punkty z którymi były brane do obliczania tych odległości. Tworząc aplikacje w OpenCV zwykle wrzucałem sobie template image oraz target image na jeden obraz i łączyłem odpowiadające sobie punkty liniami. Ale każda wizualizacja umożliwiająca mi sprawdzenie który punkt z którym jest brany do obliczenia dystansu będzie dobra. Może być to nawet coś takiego, że z odstępem czasowym pojawiają się na dwóch obrazach odpowiadające sobie punkty w postaci okręgów.
Czy ktoś może rozwiązywał już podobny problem? Jakieś podpowiedzi, fragmenty kodu? Wiem że powinienem jakoś rozbić strukturę distances na tablice i rysować kolejno te punkty na obraz i je wyświetlać. Jednak do tej pory nie udało mi się tego zrobić.
Załączam również fragment kodu który odpowiada za dopasowywanie do siebie konturów, tutaj też mogłem zrobić jakiś błąd (jak na razie LabView i jego dokumentacja nie zbyt do mnie przemawia i nie za bardzo wiem co się dzieje w poszczególnych miejscach).
Match mode w Learn Contour pattern ustawiłem na rotation. Mój zamysł jest taki żeby znaleźć odpowiadające sobie punkty konturu i z tego będę mógł obliczyć jego obrót i przesunięcie.
Jeden obraz nazwijmy template a drugi target. Na drugim obrazie przedmiot jest obrócony przesunięty itd.
Próbuję znaleźć contours distances za pomocą kontrolki Compute Contours Distances. Wykryłem kontury na template i na target, stworzyłem match contour pattern oraz jako Template Contour Image kontrolki Compute contours distance użyłem obrazu nauczonego za pomocą Learn Contour Pattern. Otrzymuje jakieś wyliczone Distances.
Chciałbym teraz zobaczyć które punkty z którymi były brane do obliczania tych odległości. Tworząc aplikacje w OpenCV zwykle wrzucałem sobie template image oraz target image na jeden obraz i łączyłem odpowiadające sobie punkty liniami. Ale każda wizualizacja umożliwiająca mi sprawdzenie który punkt z którym jest brany do obliczenia dystansu będzie dobra. Może być to nawet coś takiego, że z odstępem czasowym pojawiają się na dwóch obrazach odpowiadające sobie punkty w postaci okręgów.
Czy ktoś może rozwiązywał już podobny problem? Jakieś podpowiedzi, fragmenty kodu? Wiem że powinienem jakoś rozbić strukturę distances na tablice i rysować kolejno te punkty na obraz i je wyświetlać. Jednak do tej pory nie udało mi się tego zrobić.
Załączam również fragment kodu który odpowiada za dopasowywanie do siebie konturów, tutaj też mogłem zrobić jakiś błąd (jak na razie LabView i jego dokumentacja nie zbyt do mnie przemawia i nie za bardzo wiem co się dzieje w poszczególnych miejscach).
Match mode w Learn Contour pattern ustawiłem na rotation. Mój zamysł jest taki żeby znaleźć odpowiadające sobie punkty konturu i z tego będę mógł obliczyć jego obrót i przesunięcie.