Как убрать горизонтальный шум с изображенияPython

Программы на Python
Anonymous
Как убрать горизонтальный шум с изображения

Сообщение Anonymous »

Исходное изображение содержит таблицы, в которых я выполнил эрозию/расширение, используя горизонтальное и вертикальное ядро ​​для поиска/обнаружения горизонтальных и вертикальных линий. Затем я использовал функции findContours и drawContours, чтобы скрыть линии.
Проблема: я обрабатываю различные изображения с разной толщиной горизонтальных линий. /вертикальные линии, и я использую 10 пикселей размера для рисования поверх этих вертикальных/горизонтальных линий, чего для некоторых изображений недостаточно и некоторые линии остаются видимыми.
Как я могу удалить эти оставшиеся строки таким образом, чтобы не изменять символы?
исходное изображение:
Изображение

преобразованное изображение:
Изображение

Я пытался утолщать линии и вычитать из изображения, но это не имело существенного значения и выполняло несколько итераций из-за этого на изображении появляются белые толстые линии. Приветствуются любые идеи о том, как это исправить.
# create a mask
mask = cv2.morphologyEx(
transformed_img, cv2.MORPH_OPEN, horizontal_kernel, iterations=1
)

cv2.imshow("noise after erode", imutils.resize(mask, width=600))

# update the mask
# using square kernel of 2x2 to thicken the lines
mask = cv2.morphologyEx(
mask, cv2.MORPH_DILATE, square_kernel, iterations=1
)
cv2.imshow("noise after dilate", imutils.resize(mask, width=600))

transformed_img -= mask


Подробнее здесь: https://stackoverflow.com/questions/786 ... from-image

Вернуться в «Python»