С помощью чего можно получить текст с этой картинки?

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

import cv2
from PIL import Image
import pytesseract

pytesseract.pytesseract.tesseract_cmd = r'C:\Tesseract-OCR\tesseract.exe'

im = Image.open("7TXB6Q.png")
im = im.convert("P")
im2 = Image.new("P",im.size,255)

im = im.convert("P")

temp = {}

for x in range(im.size[1]):
  for y in range(im.size[0]):
    pix = im.getpixel((y,x))
    temp[pix] = pix
    if pix > 2: # these are the numbers to get
      im2.putpixel((y,x),0)

im2.save("output.png")

im = cv2.imread("output.png")

im = im[0:90, 35:150]

cv2.imwrite("output.png",im)

gray = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)

cv2.imshow("gray",gray)
cv2.waitKey()

После обработки картинка выглядит так: введите сюда описание изображения. Пробовал получить текст с помощью метода image_to_string

data = pytesseract.image_to_string(im, lang='eng', config='--psm 6 --oem 3 -c tessedit_char_whitelist= ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789')
print(data)

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


Ответы (1 шт):

Автор решения: GunTHE
  1. По возможности хорошо бы увеличить разрешение картинки, текст на которой Вы хотите распознать, тут нужно будет долго провозиться для подбора оптимального увеличения. Я использовал метод resize у CV2, помимо смены разрешения, у него есть такой атрибут "interpolation", вроде бы правильно написал, так вот хорошим методом при увеличении разрешения является cv2.INTER_CUBIC. Пробовал cv.INTER_LINEAR, но с ним похуже, но с другой стороны пишут, что он быстрее работает.
  2. Убрать шумы с помощью CV2. Зайдите на оф. сайт CV2 и найдите там уроки по работе, долистайте до раздела работы с картинками, там будет очень много информации по удалении шумов, попробуйте все методы.
  3. Вы применяете какое-то странное преобразование в черно-белый цвет, у Вас после преобразования BGR-GRAY остается множество различных оттенков. Попробуйте другие методы преобразования. BINARY-метод оставляет только 2 цвета, без оттенков.
→ Ссылка