如何通过 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 分钟出现一次的图像中获取代码。代码将在图像的底部,图像和代码的坐标将始终相同(例如,它们每次都会出现在我屏幕上的相同位置)。
鉴于可以预测位置和时间,请查看 PyTesseract
。 Here'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
我的问题很简单,但我一直无法解决。基本上,我想做的是,我想每隔 x 分钟从 Discord 上发布的图片中读取一个 4 位关键字。这个图片会出现在我的屏幕上,当然,我只是希望能够读懂图片上的文字,然后抓取上面的4位关键字。
图片如下所示: [1]: https://i.stack.imgur.com/E2uwY.jpg
我要抓取的关键字在图片底部。
简而言之,我想从屏幕上每 x 分钟出现一次的图像中获取代码。代码将在图像的底部,图像和代码的坐标将始终相同(例如,它们每次都会出现在我屏幕上的相同位置)。
鉴于可以预测位置和时间,请查看 PyTesseract
。 Here'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