Обработайте изображение для хорошего распознавания текста - PullRequest
0 голосов
/ 07 ноября 2018

Я пытаюсь обработать картинку. Вначале много шума, но я пытаюсь внести некоторые улучшения. К сожалению, это не дает большого результата. Может быть возможно реализовать такую ​​вещь, что каким-то образом выделите центр каждой черной линии букв в слове и сделайте что-то вроде их скелета. Я понятия не имею, как это сделать, поэтому, пожалуйста, помогите здесь. Код, который я сейчас использую:

word = cv2.resize(word, (word.shape[1]*2, word.shape[0]*2))
kernel = np.array([[-1,-1,-1], [-1,9,-1], [-1,-1,-1]])
word = cv2.filter2D(word, -1, kernel)
word[np.where((word >= [180,180,180]).all(axis=2))] = [255,255,255]
word[np.where((word <= [179,179,179]).all(axis=2))] = [0,0,0]
cv2.imshow(str(i), word)

это дает такой результат: enter image description here из этого: enter image description here

1 Ответ

0 голосов
/ 14 ноября 2018

Попробуйте cv2.erode().

cv2.bitwise_not(img,img)
kernel = np.ones((3,3),np.uint8)
erosion = cv2.erode(img,kernel,iterations = 1)

enter image description here

...