Добрый день!
Пытаюсь распознать номера договоров на сканах с использованием pytesseract.
Столкнулся с неточностью распознавания.
Исходная картинка:
Картинка после обработки:
При выводе выдает: €6E96T09810/SEEGIZET
Мой код:
import os
import pytesseract
from pdf2image import convert_from_path
import cv2
# перейти в папку test_folder
os.chdir('./test_folder')
# получить список файлов в папке RandomFiles
for file in os.listdir('.'):
print(file)
PDF_file = "./"+file
images = convert_from_path(PDF_file)
for image in images:
filename = str(file.replace('.pdf','')) + ".jpg"
image.save(filename, 'JPEG')
cropped4 = image.crop((249, 3253, 397, 3869))
result4 = filename.replace('.jpg','') + '_crop_4.jpg'
cropped4.save(result4)
k1 = cv2.imread('./' + result4)
gray = cv2.cvtColor(k1, cv2.COLOR_BGR2GRAY)
gray = cv2.threshold(gray, 0, 255,
cv2.THRESH_BINARY | cv2.THRESH_OTSU)[1]
rr = 'g_' + result4
cv2.imwrite(rr, gray)
text4 = pytesseract.image_to_string(rr)
print(text4)
Какую нужно сделать подготовку изображения, чтобы распознать корректно номер?