Неправильный порог перед распознаванием строки - PullRequest
2 голосов
/ 25 сентября 2019

Я пытаюсь распознать какой-нибудь текст с помощью pytesseract, но перед этим мне нужно превратить имеющуюся у меня картинку в бинарную.Обратите внимание, что сначала я изменяю размер изображения, чтобы его было легче читать для pytesseract.

См. Ниже исходное изображение, изображение с измененным размером, мой код и полученный результат, чтобы вы могли понять мою проблему ..

Исходное изображение

image = cv2.imread('original.png',0)
image = cv2.resize(image,None,fx=2,fy=2,interpolation=cv2.INTER_CUBIC)
cv2.imwrite("resized.png", image)

thresh = cv2.threshold(image, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)[1]
result = 255 - thresh
cv2.imwrite("after_threshold.png", result)

Изображение с измененным размером

Изображение после порога

Спасибо за вашу помощь :)

1 Ответ

0 голосов
/ 26 сентября 2019

Если вы удаляете изменение размера, это похоже на работу

enter image description here enter image description here

Вывод из Pytesseract

32 Force

120 Initiative
Prospection

25 agilité

53 Vitalité

5 Dommages

1 Résistance Neutre
1 Portée

7% Résistance Feu
import cv2
import pytesseract

pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract-OCR\tesseract.exe"

image = cv2.imread('1.png', 0)
thresh = cv2.threshold(image, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)[1]
result = 255 - thresh 

data = pytesseract.image_to_string(result, lang='eng',config='--psm 6')
print(data)

cv2.imshow('thresh', thresh)
cv2.imshow('result', result)
cv2.waitKey()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...