Как разделить / обрезать перекрывающееся изображение букв python - PullRequest
0 голосов
/ 10 июля 2020

У меня есть дополнительное изображение в файле, каждое изображение, которое я хочу разделить перекрывающуюся букву в этом изображении на каждую букву. Например, на первом изображении я хочу разделить 3 и 4, на втором - FN и так далее ....

Я использую Morphological Transformations (Python) , но теряет Так много информации, потому что каждое изображение имеет разные морфологические преобразования.

Так что, пожалуйста, помогите мне !!!!

введите описание изображения здесь

1 Ответ

0 голосов
/ 10 июля 2020

Эта проблема длинная и не может быть решена несколькими строками кода.

Однако вот руководство по моему методу, который я могу придумать для решения этой проблемы.

  • Найдите контуры на изображении с помощью флага RETR_EXTERNAL для обнаружения внутренней области букв (например, внутренней белой части D, 4, 6, 9 и т. Д. c.).
  • Теперь нарисуйте этот контур на отдельном новом изображении с толщиной = -1. Это даст вам числа, заполненные цветом (без отдельной окрашенной внутренней части).
  • ПРИМЕЧАНИЕ. Обычно для разделения объектов используются эрозия и расширение, но в этом случае буквы сами тонкие, из-за чего на эрозия / расширение, они сами сломаются.
  • Чтобы обойти вышеупомянутую проблему, способ состоит в том, чтобы сначала заполнить буквы и замкнутую область, что даст 2 блока, соединенных рядом с точкой.
  • Простым решением этой проблемы было бы найти выпуклую оболочку для контура. Но это тоже не удастся (Невозможно объяснить без демонстрации). заполните буквы рядом с точками клина.
  • Теперь выполните эрозию и расширение и найдите точку, где контуры ломаются.
  • Проведите там линию на исходном изображении и снова найдите контуры.
  • Теперь у вас, вероятно, будет 2 контура для обеих букв.
...