РЕДАКТИРОВАТЬ : Я нашел ELSD и собираюсь дать ему шанс, но любой совет все равно будет оценен.
EDIT2 : онлайн-демонстрация ELSD прекрасно работает для решения этой проблемы, но источник находится на C. Портировать его я не могу.
Я пытаюсь обнаружить почтовые штемпели на старинных открытках, например:
Я могу потратить несколько минут, чтобы настроить параметры cv2.HoughCircles, пока почтовый штемпель не станет одним из нескольких обнаруженных кружков ... для одного сканирования, но для следующей карточки требуются совершенно другие параметры для обнаружения ее почтового штемпеля. В этот момент это будет на несколько порядков быстрее, если вы сделаете это вручную.
Часть проблемы заключается в том, что почерк часто определяется как круги, я полагаю, когда достаточное количество кривых в курсиве имеет одинаковую центральную точку. Для любых диапазонов радиусов, которые я использую для различения, в почерке всегда есть что-то , которое определяется как ложное срабатывание.
Другая проблема заключается в том, что круг часто перекрывается другими вещами, такими как печать или почерк.
Наконец, круглая часть марки чаще всего бывает неполной.
Есть ли альтернатива методу GHTG, который я мог бы использовать? Возможно, что-то, что проверяет, сколько непрерывной дуги окружности присутствует без перерыва? (Хотя круги с метками часто бывают неполными, на них обычно видны как минимум пи радианы.) Или что-то, что проверяет идеальную круглость? Менее эффективен - это просто отлично, если он надежно обнаруживает реальные неполные окружности без (m) ложных срабатываний.