如何解决如何通过 Pyautogui 自动和随机地拍摄截图
目标我想从图像中提取文本。 我玩了一个随机出现一个图标的游戏,并且在右侧的图标附近有一个文本(文本作为图像)。 我希望脚本只截取文本区域的屏幕截图。 所以,我希望每次他在 i con 上定位屏幕时都有脚本,我希望他对文本进行屏幕截图。 这是一个理解这个想法的图像: enter image description here
这是我的代码:
import pyautogui as py
import time
from PIL import Image
from PyTesseract import *
PyTesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
while 1:
indice1 = py.locateOnScreen("icon.png")
if indice1:
print("indice see it ")
myScreenshot = py.screenshot()
myScreenshot.save(r'C:\Users\rachidel07\Desktop\ok\venv\image.png')
img=Image.open("image.png")
output = PyTesseract.image_to_string(img)
print(output)
else:
print ("non")
解决方法
如果你只想要文本,检查图标,当它找到它时,用相对于图标的坐标拍摄整个框的照片(你很容易得到这个,因为 locateonscreen 返回坐标,你可以测量文本框有多大并进行数学计算。)然后使用 PIL 仅裁剪文本,然后使用 tesseract 进行 ocr。
要裁剪文本,您可以使用 PIL 中的crop()。
from PIL import Image
img = Image.open("image.png")
newimg = img.crop((100,100,150,150))
newimg.save("croppedimage.png")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。