OpenCV
начинающий здесь. Я изо всех сил пытаюсь обнаружить определенную форму в openCV
с помощью C++
, Конкретной формой является буква "E"
,
Я рассмотрел несколько способов сделать это. Соответствие шаблона и OCR
не будет работать под любым углом, поэтому я подумываю использовать хитрое определение краев. После исследования этого может показаться, что можно использовать преобразование линии Хафа или обнаружение хитрых краев.
Я могу реализовать оба из них, но это следующий шаг, с которым у меня возникли проблемы. Может ли кто-нибудь из вас дать несколько советов о том, как двигаться дальше отсюда. После применения фильтра Канни, как проверить, присутствует ли буква «Е»?
Входные и выходные изображения приведены ниже, однако они могут быть под любым углом.
Входные данные:
Выход:
В зависимости от того, насколько надежным должно быть это «обнаружение», сложность возможных решений вашей проблемы может довольно сильно различаться. Поскольку вы не упомянули надежность в своем вопросе, это, вероятно, не проблема. Поэтому довольно простым решением может быть:
cv::findContours()
.Если вам нужно больше надежности, вы можете:
Других решений пока нет …