У меня есть файл изображения с текстом, который я хочу извлечь, используя OCR.Но у него есть диагональная пересекающаяся строка текста над ним (вверху справа), например
.Я удаляю эту строку, используя
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
Это приводит к изображению наподобие
.
Обратите внимание на толстые символы для напряжение сдвига , это одна из областей, где диагональная линия перекрывается.Сейчас я применяю OCR.Тем не менее, предыдущие шаги удаляют некоторые пиксели.Например, e в краевой дислокации не завершен.
Это приводит к плохим результатам, таким как "edve dislocation".Я пробовал эрозию и расширение, но без значительных улучшений.
Есть ли способ заполнить дыры в символах?
Есть ли способ уменьшить толщину символов, которые пересекаются с диагональной линией?