在网上看到视频课程“Python开发QQ截图文字识别”,其中通过keyboard库来监测键盘的输入,但总是有溢出错误。
if keyboard.wait(hotkey='f1')==None:
print('截图开始')
if keyboard.wait(hotkey='crtl+c')==None:
----------------------------------------------------------------
后在网上发现python 的另一个库:pynput 也可以监测键盘输入(from pynput import keyboard)。
实际上程序通过以下步骤:
1:启动一个用于截图软件Snipaste(64位无法运行,32位正常)在后台运行并检查键盘活动,F1启动截屏,Ctrl+C将截图存入缓存,
2:通过 im=ImageGrab.grabclipboard()读出剪贴板内容 (from PIL import ImageGrab,并存为图像文件im.save("pic.png")
3:调用百度云的文字识别API,(from aip import AipOcr),
需要事先创建应用-人工智能-文字识别,每次图像识别请求需要 发送 :AipOcr(app_id,app_key, secret_key)
返回文字内容 :.client.basicGeneral(img)
4:现只做到监测键盘Ctrl_l释放.(from pynput import keyboard)
def on_release(key):
if key== keyboard.Key.ctrl_l:
sleep(0.01)
im=ImageGrab.grabclipboard()
im.save("pic.png")
-----------------------------------------------------------------------------------------
win10 本身有自带的截图功能: 使用“截图和草图”捕获、标记和共享图像-Windows 徽标键 + Shift + S