Я создаю бота для видеоигры, и мне нужно прочитать информацию, отображаемую на экране.Учитывая, что информация всегда находится в одном и том же месте, у меня нет проблем, чтобы сделать снимок экрана и обрезать изображение до нужного положения.
90% времени распознавание будет безупречным, но иногда оно возвращает что-то, что кажется совершенно случайным (см. Пример ниже).
Я пытался превратить картинку вчерный и белый безуспешно, и попытался изменить конфигурацию pytesseract (config = ("-l fra --oem 1 --psm 6"))
def readScreenPart(x,y,w,h):
monitor = {"top": y, "left": x, "width": w, "height": h}
output = "monitor.png"
with mss.mss() as sct:
sct_img = sct.grab(monitor)
mss.tools.to_png(sct_img.rgb, sct_img.size, output=output)
img = cv2.imread("monitor.png")
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imwrite("result.png", img)
config = ("-l fra --oem 1 --psm 6")
return pytesseract.image_to_string(img,config=config)
Пример: эта картинка генерирует ошибку, она возвращает строку "IRPMV / LEIILK"
![enter image description here](https://i.stack.imgur.com/GRaMV.png)
Другое изображение
![enter image description here](https://i.stack.imgur.com/idmJz.png)
Теперь я не знаю, откуда возникла проблема, учитываячто это не просто неправильный символ, а случайный результат ..
Спасибо за вашу помощь