Wykryj półkole w opencv

Próbuję wykryć pełne koła i półkola w obrazie.

Postępuję według poniższej procedury: Przetwarzaj obraz (w tym wykrywanie krawędzi Canny'ego) Znajdź kontury i narysuj je na pustym obrazie, dzięki czemu mogę wyeliminować niepożądane składniki. (Przetworzony obraz jest dokładnie tym, czego chcę.) Wykryj kółka za pomocą HoughCircles. I to właśnie dostaję.

Próbowałem zmieniać parametry w HoughCircles, ale wyniki nie są spójne, ponieważ zmieniają się w zależności od oświetlenia i położenia kół w obrazie. Akceptuję lub odrzucam okrąg na podstawie jego rozmiaru. Tak więc wynik jest nie do przyjęcia. Mam także długą listę „akceptowalnych” kręgów, więc potrzebuję trochę dodatków w paramach HoughCircle. Jeśli chodzi o pełne koła, to proste - mogę po prostu znaleźć „okrągłość” konturu. Problemem jest półkole!

Znajdź edytowany obraz przed transformacją

questionAnswers(5)

yourAnswerToTheQuestion