Skocz do zawartości

[opencv] rozpoznawanie dloni


nominowany

Pomocna odpowiedź

Witam. Jestem tutaj nowy wiec na początku chciałem się przywitać 😉

ostatnio walczę z pewnym problemem i powoli tracę pomysły.

Potrzebuje stworzyć algorytm, który rozpoznaje dłoń na podstawie linii po jej wewnętrznej stronie. Nie papilarnych, te największe linie na dłoni. Dłoń wczytywana jest ze zdjecia/ filmu.

Obecnie zrobiłem to tak ( niestety nie działa jak powinno, może macie jakieś lepsze propozycje)

1. Wczytuje film i przerabia na skalę szarości.

2. Lekki gauss

3. Filtr wysokoczestotliwosciowy - próbowałem sobel i laplacian.

4. Wartość bezwzględna obrazu

5. Progowanie i obraz binarny.

6. Wykrywanie konturów i opisywanie okręgów na nich.

7. Usuwanie konturów którenie nie spełniają warunków średnicy - żeby analizować tylko glowne linie na dłoni. Bez palców etc,

8. Drugi obraz (dłoń referencyjna przechodzi takie same kroki)

9. Porównywanie konturów obu dłoni.

10. Jeżeli 3 cechy się zgadzają informacja, ze zaakceptowano.

Niby filtr wysokoczestotliwosciowy wykrywa linie i kontury, ale na tyle nie są odcięte, że nie da się sprogowac, żeby w wyniku powstał obraz konturu dłonii z liniami na niej. Co radzicie, jaką funkcję dodać, co zamienić, jakiś inny filtr? Tło nie jest problemem, mogę przyjąć stałe tło np. jednolite czarne.

proszę o pomoc i rady 😉

Link do komentarza
Share on other sites

Myślę, że Twoja analiza jest po prostu za krótka. Moim zdaniem kroki które opisałeś są tylko wstępem do czegoś, co powinno następować później a mianowicie do etapu ekstrakcji pewnych abstrakcyjnych cech dystynktywnych. Porównywanie z wzorcem nie powinno być przeprowadzane na etapie zabawy w grafikę bitmapową. Po przygotowaniu typowymi algorytmami obróbki obrazu powinieneś użyć jakiegoś pomysłu (lub kilku) który zamieni rozwlekły obrazek najpierw na zbiór np. krzywych opisanych analitycznie a potem np. na graf. Popatrz na analizę linii papilarnych - tam nikt nie bawi się w obrazki, tylko jak najszybciej przechodzi do wzajemnego położenia pewnych punktów charakterystycznych takich jak rozwidlenia, pętle i zakończenia linii, które w niesamowity sposób upraszczają proces porównywania a jednocześnie zawierają na tyle dużo informacji z początkowego obrazu, że praktycznie uniemożliwiają podjęcie błędnej decyzji. Taki mocno skompresowany opis zawierający w Twoim przypadku np. miejsca przecięć (tego w odciskach palców nie ma), rozdwojenia czy zakończenia moim zdaniem bardzo dobrze nadawałby się jako zestaw danych wejściowych dla klasyfikatora/korelatora. Zauważ też, że wzorce mogą być przygotowywane o wiele dłużej niż trwa proces rozpoznawania on-line. Dlatego też można im poświęcić dużo więcej mocy obliczeniowej i przygotować je tak, by późniejsze poszukiwanie wzorca w bazie było wystarczająco efektywne.

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.