@k1raa

Почему pytesseract не может считать текст?

Мне нужно вывести текст из данной картинки60bf186569853682083787.png
Но на выводе выдает прямоугольник, и все
Что в такой ситуации делать?
Код:
import cv2
import pytesseract
from imutils import contours
pytesseract.pytesseract.tesseract_cmd = 'C:\\Program Files\\Tesseract-OCR\\tesseract.exe'
image = cv2.imread('Image.png')
height, widht, _ =image.shape
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
thresh = cv2.threshold(gray, 255, 255, cv2.THRESH_OTSU)[1]
cnts = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
cnts, _ = contours.sort_contours(cnts[0])

result = pytesseract.image_to_string(thresh, lang="rus+eng")
print (result)
  • Вопрос задан
  • 38 просмотров
Пригласить эксперта
Ответы на вопрос 1
oldzhmih
@oldzhmih
Ну что-же...
1) В этой строчке убери rus
result = pytesseract.image_to_string(thresh, lang="rus+eng")

Если я правильно понимаю, ты хочешь сделать так, чтобы после чтения картинки, полученный текст сам написался, то есть с эмулировал клаву? Если твоя программка воспримет буквы на экране за русские, то он на них тебе капчу и введет, а на сколько я помню там только на английском нужно вводить

2) Попробуй уменьшить зону поиска, примерно вот так610c137431c12666281054.png

3) Играйся с фильтрами, переводи из одних цветов в другие, тут в принципе не сложно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы