Я должен распознать текст заполненной рукой банковской формы. Форма имеет сетку, как показано на изображении. Я новичок в обработке изображений. Я прочитал несколько работ по распознаванию рукописного текста и сделал шумоподавление, бинаризацию в качестве задач предварительной обработки. Я хочу сегментировать изображение и распознавать символы с помощью нейронной сети. Чтобы сегментировать символы, я хочу избавиться от сетки.Снятие сетки от отсканированного изображения
2
A
ответ
6
У меня есть решение с использованием OpenCV.
Во-первых, я перевернул изображение:
ret,thresh2 = cv2.threshold(img,127,255,cv2.THRESH_BINARY_INV)
Теперь я выполнил морфологического открытия:
opening = cv2.morphologyEx(thresh2, cv2.MORPH_OPEN, k2)
cv2.imshow('opening', opening)
вы с a видеть, что линии сетки исчезли. Но в некоторых персонажах есть некоторые хаосы. Таким образом, чтобы заполнить пробелы я выполнил операции морфологического дилатации:
dilate = cv2.morphologyEx(opening, cv2.MORPH_DILATE, k1)
cv2.imshow('dilation', dilate)
Вы можете проверить THIS LINK для более морфологических операций и ядер используемых.
SO не является кодирующим сайтом. Пожалуйста, покажите некоторые работы, чтобы мы могли помочь вам сделать это лучше. – DyZ
@DYZ Я попытался использовать обнаружение Denaising, Binarization и Edge на изображении, представленном выше. Я не понимаю, как избавиться от сетки. Любые идеи были бы полезны. –
попробуйте операторы эрозии и дилатации – Micka