Muszę wykrywać tylko zamknięte oczy, a także oba oczy oddzielnie. Oznacza to, że muszę powiedzieć, czy lewe oko jest otwarte, czy zamknięte, to samo dotyczy prawego oka.Detekcja zamkniętego oka opencv C++
Próbowałem na kilka sposobów. Jednym z nich jest osobne wykrywanie oczu za pomocą haarkascade_eye i haarcascade_eye_tree_eyeglasses, a następnie porównywanie wyników. Jeśli obaj wykryją oko, a następnie oko otworzy się, jeśli jedno wykryje, a drugie nie, wtedy oko zamknie się. Ten trik został zabrany z tego linku:
http://tech.groups.yahoo.com/group/OpenCV/messages/87666?threaded=1&m=e&var=1&tidx=1
Ale to nie działa jak expected.eye detektory kaskada nie działają jak wspomniano w link. Bardzo bliskie wyniki można znaleźć w tych haaraskadach, o których wspomniałem powyżej. Czasami daje prawidłowy wynik, czasem nie może. Nie wiem dlaczego. Poza tym nie można powiedzieć za pomocą tej metody, które oko jest otwarte, a które jest zamknięte.
Czy ktoś może mi pomóc rozwiązać ten problem? Przynajmniej potrzebuję sposobu, aby powiedzieć, że jedno z oczu jest zamknięte, bez względu na to, które z nich trzeba zrobić dokładnie. Proszę pomóc ..........
"Dokładnie" jest trudne w przypadku przetwarzania obrazu. Weź też pod uwagę, że kształt oczu niektórych osób jest naturalnie dość wąski, więc prawdopodobnie będziesz miał wiele fałszywych trafień/negatywów. – Bojangles
Rozumiem. Czy możesz mi powiedzieć, która haaraskada wykrywa zarówno otwarte i zamknięte oko, a które wykrywa tylko otwarte oko? Wtedy na razie mogę sobie poradzić. – AtanuCSE
możesz zastosować szablon pasujący do – Saikat