Mam obecnie do czynienia z moim zdaniem raczej powszechnym problemem, który powinien być dość łatwy do rozwiązania, ale jak dotąd wszystkie moje podejścia się nie powiodły, dlatego zwracam się do Ciebie o pomoc.Podejście polegające na dopasowywaniu kształtów/wzorów w Computer Vision
Myślę, że problem najlepiej wyjaśnić na niektórych ilustracjach. Mam kilka wzorów jak te dwa:
ja również mieć obraz jak (prawdopodobnie lepsze, ponieważ zdjęcie ten pochodzi z była dość słabo oświetlony) to:
(Należy pamiętać, że szablon został przeskalowany, aby zmieścić rozmiar obrazu)
Ostatecznym celem jest narzędzie określające, czy użytkownik pokazuje gest kciuka do góry/kciuk, a także kilka kątów pomiędzy. Dlatego chcę dopasować wzory do obrazu i zobaczyć, który z nich najbardziej przypomina obraz (a dokładniej kąt, jaki pokazuje ręka). Znam kierunek, w którym kciuk pokazuje wzór, więc jeśli znajdę wzór, który wygląda identycznie, mam również kąt.
Pracuję z OpenCV (z powiązaniami w Pythonie) i już wypróbowałem cvMatchTemplate i MatchShapes, ale jak dotąd nie działa to niezawodnie.
Mogę się tylko domyślać, dlaczego MatchTemplate się nie udało, ale myślę, że mniejszy wzór z mniejszą bielą pasuje do białego obszaru zdjęcia, tworząc tym samym najlepszy czynnik dopasowania, chociaż oczywiste jest, że nie wyglądają tak samo.
Czy istnieje kilka metod ukrytych w OpenCV, których jeszcze nie znalazłem lub czy istnieje znany algorytm dla tego typu problemów, które powinienem uzupełnić?
Szczęśliwego Nowego Roku.
Tak, dostarczone obrazy są oryginalnymi obrazami. jest tak, że na przykład drugi obraz wzoru nie ma najlepszej pasującej wartości w porównaniu z obrazem próbki. nawet gdy mają prawie taki sam rozmiar jak na zdjęciu. czy polecasz specjalną metodę matchtemplate (CV_TM_SQDIFF, ...)? jaka jest wartość, którą otrzymuję? błąd dla całego obrazu? odległość na piksel (tak, że muszę podzielić go przez rozmiar obrazu lub coś podobnego?) – Nicolas
Zaktualizowałem swoją odpowiedź, aby odpowiedzieć na twoje pytania. –
Aby uzyskać "rozciągliwy" kształt, taki jak pięść, szablony dopasowań mogą nie zawsze działać tak dobrze, jak chcesz. Transformacje rotacyjne, skalujące i afiniczne razem nie uwzględniają rotacji i rozciągania pojedynczych elementów. Jeśli kombinacja technik morfologicznych i segmentacji nie działa, należy rozważyć poszukiwanie artykułów na temat "dekompozycji kształtu". – Rethunk