2017-01-24 10 views
2

Я должен распознать текст заполненной рукой банковской формы. Форма имеет сетку, как показано на изображении. Я новичок в обработке изображений. Я прочитал несколько работ по распознаванию рукописного текста и сделал шумоподавление, бинаризацию в качестве задач предварительной обработки. Я хочу сегментировать изображение и распознавать символы с помощью нейронной сети. Чтобы сегментировать символы, я хочу избавиться от сетки.Снятие сетки от отсканированного изображения

спасибо, что заранее. enter image description here

+0

SO не является кодирующим сайтом. Пожалуйста, покажите некоторые работы, чтобы мы могли помочь вам сделать это лучше. – DyZ

+0

@DYZ Я попытался использовать обнаружение Denaising, Binarization и Edge на изображении, представленном выше. Я не понимаю, как избавиться от сетки. Любые идеи были бы полезны. –

+0

попробуйте операторы эрозии и дилатации – Micka

ответ

6

У меня есть решение с использованием OpenCV.

Во-первых, я перевернул изображение:

ret,thresh2 = cv2.threshold(img,127,255,cv2.THRESH_BINARY_INV) 

enter image description here

Теперь я выполнил морфологического открытия:

opening = cv2.morphologyEx(thresh2, cv2.MORPH_OPEN, k2) 
cv2.imshow('opening', opening) 

enter image description here

вы с a видеть, что линии сетки исчезли. Но в некоторых персонажах есть некоторые хаосы. Таким образом, чтобы заполнить пробелы я выполнил операции морфологического дилатации:

dilate = cv2.morphologyEx(opening, cv2.MORPH_DILATE, k1) 
cv2.imshow('dilation', dilate) 

enter image description here

Вы можете проверить THIS LINK для более морфологических операций и ядер используемых.

+0

в огне, Jeru;) – Soltius

+0

@Soltius Эй, какая идея о том, как вернуть персонажей в нормальное состояние, как в исходном изображении? –

+0

Что делает закрытие вместо дилатации? – Soltius

 Смежные вопросы

  • Нет связанных вопросов^_^