Заполнение пробелов в символах с помощью cv2 - PullRequest
0 голосов
/ 30 декабря 2018

У меня есть файл изображения с текстом, который я хочу извлечь, используя OCR.Но у него есть диагональная пересекающаяся строка текста над ним (вверху справа), например this.Я удаляю эту строку, используя

  image = cv2.imread(image_path)

  image = cv2.resize(image, None, fx=2, fy=2, interpolation=cv2.INTER_CUBIC)

  image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

  image = cv2.GaussianBlur(image, (5, 5), 0)

  image = cv2.threshold(image, 100, 255, cv2.THRESH_BINARY)[1] # 100 here as the diagonal line is grey

Это приводит к изображению наподобие this.

Обратите внимание на толстые символы для напряжение сдвига , это одна из областей, где диагональная линия перекрывается.Сейчас я применяю OCR.Тем не менее, предыдущие шаги удаляют некоторые пиксели.Например, e в краевой дислокации не завершен.

Это приводит к плохим результатам, таким как "edve dislocation".Я пробовал эрозию и расширение, но без значительных улучшений.

Есть ли способ заполнить дыры в символах?

Есть ли способ уменьшить толщину символов, которые пересекаются с диагональной линией?

...