如何通过 Python 从我的 PC 屏幕上每 x 分钟出现一次的图像中读取文本?

How do I read text from an image that appears every x minutes on my PC screen through Python?

我的问题很简单,但我一直无法解决。基本上,我想做的是,我想每隔 x 分钟从 Discord 上发布的图片中读取一个 4 位关键字。这个图片会出现在我的屏幕上,当然,我只是希望能够读懂图片上的文字,然后抓取上面的4位关键字。

图片如下所示: [1]: https://i.stack.imgur.com/E2uwY.jpg

我要抓取的关键字在图片底部。

简而言之,我想从屏幕上每 x 分钟出现一次的图像中获取代码。代码将在图像的底部,图像和代码的坐标将始终相同(例如,它们每次都会出现在我屏幕上的相同位置)。

鉴于可以预测位置和时间,请查看 PyTesseractHere's 入门教程。

要自动执行屏幕截图过程,请查看此答案:

将图像存储到本地后,就可以使用 OCR 库 pytesseract 和计算机视觉库 opencv 完成代码抓取。

像这样安装它们:

pip install pytesseract
pip install opencv-python

然后用你的图片 (image.jpeg) 运行 下面的代码:

import cv2
import pytesseract
img = cv2.imread("image.jpeg")
img = cv2.resize(img, (400, 450))
cv2.imshow("Image", img)
text = pytesseract.image_to_string(img)
print(text)
cv2.destroyAllWindows()

我测试了它并输出代码:

FTO2