如何在 python 中不断从屏幕的特定部分获取单词
How can I constantly get a word from a specific part of my screen in python
我正在尝试制作一个程序,从屏幕的特定部分获取图像,然后将其转换为文本。我知道我应该使用 openCV 和 tesseract 来转换为文本,但我不明白我如何不断地从我的屏幕上输入特定的图像。图像大约每 1-2 秒更改一次。
你可以使用pyautogui。它具有内置屏幕截图功能。
import pyautogui
screenshot = pyautogui.screenshot()
screenshot.save(r'./screenshot.png')
您可以使用 for 循环,将屏幕截图保存为第“i”次迭代。
像 screenshot.save((r'./screenshot'+i+'.png'))
您可能想创建一个单独的文件夹来存储屏幕截图以保持一切清洁,或者您可以直接覆盖图像。
然后你可以使用 OpenCV 和 tesseract 读取你刚刚制作的图像,使用与之前相同的公式 (r'./screenshot'+i+'.png').
我应该说这可能不够快,每 1-2 秒执行一次。我还在测试它,所以我不能说它需要的时间。至于只看屏幕的特定部分,也许可以放大,但如果有人有更好的方法,请告诉我,我会更新答案。如果您知道如何使其更快,则相同。
如果您知道可以改进的方法,请告诉我。
我正在尝试制作一个程序,从屏幕的特定部分获取图像,然后将其转换为文本。我知道我应该使用 openCV 和 tesseract 来转换为文本,但我不明白我如何不断地从我的屏幕上输入特定的图像。图像大约每 1-2 秒更改一次。
你可以使用pyautogui。它具有内置屏幕截图功能。
import pyautogui
screenshot = pyautogui.screenshot()
screenshot.save(r'./screenshot.png')
您可以使用 for 循环,将屏幕截图保存为第“i”次迭代。
像 screenshot.save((r'./screenshot'+i+'.png'))
您可能想创建一个单独的文件夹来存储屏幕截图以保持一切清洁,或者您可以直接覆盖图像。
然后你可以使用 OpenCV 和 tesseract 读取你刚刚制作的图像,使用与之前相同的公式 (r'./screenshot'+i+'.png').
我应该说这可能不够快,每 1-2 秒执行一次。我还在测试它,所以我不能说它需要的时间。至于只看屏幕的特定部分,也许可以放大,但如果有人有更好的方法,请告诉我,我会更新答案。如果您知道如何使其更快,则相同。
如果您知道可以改进的方法,请告诉我。