Этот вопрос закрыт для ответов, так как повторяет вопрос Как сделать чистую капчу?
@Denchik-Alkash
Начинаю изучать Python.

Pytesseract не может нормально считать текст с изображения. Как ещё это изображение отредактировать? Или нужен другой подход?

Имею следующий код:

import cv2
from PIL import Image, ImageEnhance, ImageFilter
import pytesseract

# Открываем файл
img = Image.open('C:\Screenshots\screenshot1.png')

# Увеличиваем контрастность:
enhancer = ImageEnhance.Contrast(img)
img = enhancer.enhance(2)

# Изменяем размер
img = img.resize((1200, 600))

# Обрезаем лишнее
img = img.crop((200,140,1140,435))

# Преобразуем в черно-белый рисунок
thresh = 200
fn = lambda x: 255 if x > thresh else 0
reconv = img.convert('L').point(fn, mode='1')
reconv.save("c:\\Screenshots\pescreen1.png")

# Пытаемся считать цифры
image1 = cv2.imread("C:\Screenshots\pescreen1.png")
string1 = pytesseract.image_to_string(image1)
print(string1)


Исходное изображение 63fb621f4d310816702722.png

Редактированное изображение 63fb623709da9241347267.png

Ответ выдаёт: Hai

Если в коде изменить размер
# изменяем размер
img = img.resize((300, 150))

# Обрезаем лишнее
img = img.crop((0,0,280,110))


63fb67ba1d7f8317558172.png

Выдаёт : 027
Но такой точности не достаточно. Потому что в дальнейшем буду работать с большим количеством цифр.
  • Вопрос задан
  • 105 просмотров
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы