社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
一、模块
import time
import keyboard (pip install keyboard) #用于监控键盘按下,触发事件
from PIL import ImageGrab #用于屏幕截图
from aip import AipOcr (pip install baidu-aip) #调用百度接口
二、获取APPID AK SK
进入网址:https://console.bce.baidu.com/ai/#/ai/ocr/overview/index
勾选文字识别,名称:文字识别,应用描述:无。点击创建
然后点击图1的应用列表,就可以看到刚刚创建的应用以及AppID,APIKey,SecretKey。复制进下面的代码就可以了。
import time
import keyboard
from PIL import ImageGrab
#3.调用百度的接口识别图片内容
from aip import AipOcr
"""你的APPID AK SK"""
APP_ID = "复制你创建应用的APP_ID"
API_KEY = "同上"
SECRET_KEY = "同上"
client = AipOcr(APP_ID,API_KEY,SECRET_KEY)
while True:
#截图
keyboard.wait(hotkey="alt+ctrl+a") #等待键盘的触发。等待QQ截图
keyboard.wait(hotkey="enter")
time.sleep(0.1)
#图片保存
image = ImageGrab.grabclipboard() #获取剪切板的图片
image.save('screen.jpg') #图片保存
#打开screen.jpg图片,以read bytes方式进行操作
with open('screen.jpg','rb') as f:
image = f.read() #image就是这张图片的二进制内容
text = client.basicAccurate(image) #调用百度的接口帮我们识别图片的内容
result = text['words_result'] #获取返回内容的字典
#遍历输出字典内容
for i in result:
print(i['words'])
大致的原理就是利用一个截图工具进行截图(这里选择用QQ的截图功能,需要运行QQ),再判断截图完成按下的键后进行后面的功能(截图完会把图片放入剪切板,然后获取到剪切板的图片就是获取到我们要进行识别的图片),然后再调用百度的接口帮我们识别这张图片上的内容,在打印出来,运行效果如下(先运行程序,然后运行QQ使用快捷键ctrl+alt+a截取要识别的内容然后按enter):
截图
识别出的内容
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!