Witajcie, zmagam się z problem rozpoznawania kształtów na obrazie. Korzystam z OpenCV w pythonie.
Wykorzystuje takie funkcje jak findContours. Ale także sprawdzam ilość "załamań" linii, np kwadrat 4, trojkat 3, a koło więcej niż 4.
Jeżeli załamań jest więcej. Porównuje poprzez findMatch z grafiką "przykładową" czy coś jest rogalem. To działa.
Jednak robiąc dokładnie to samo dla "gwiazdki" nie potrafi jej odnaleźć. Problem dodatkowy to problemy z trójkątami. Nie wiem dlaczego szpiczaste obiekty są rozpatrywane nie zawsze w pełni.
Czasami co parę klatek (program działa na wideo na żywo) pokazuje że znalazł trójkąt ale następnie go gubi.
Czy macie jakieś pomysły w jaki sposób mógłbym wykryć bardziej skomplikowane kształty, które przed kamerą mogą znaleźć się w różnej wielkości i różnym kątem obrotu.
Niestety ze względu na podpisaną klauzulę poufności nie mogę zamieszczać kodu.
- screenshot-20200817133645.png (629 KB) - ściągnięć: 24