先给大家推荐一款截图软件,非常方便,可以把截出的图片放置到窗口上
并且可以随意移动,这个是微软开发的一款工具:Snipaste
支持各类电脑系统,先简单介绍一下它的用法,F1截图,ctrl+c把图片复制到剪贴板,方便下次使用(ctrl+v)。
我们要做一款截图工具,也就是模仿这款软件的功能。
利用到的python模块有:
-
import keyboard
-
from PIL import ImageGrab
-
from time import sleep
keyboard为我们的键盘记录模块,判断我们是否按下了F1键,PIL为我们的图片处理库,导入了其中的剪贴板模块。
if not keyboard.wait('f1'):
if not keyboard.wait('ctrl+c'):
sleep(0.05)
img = ImageGrab.grabclipboard()
img.save('test.png')
若未按下F1那么程序处于阻塞状态,只有按下后代码才会向下执行。先F1截图,然后Ctrl+c保存我们的图片到剪贴板。
最后把图片从剪贴板中取出来保存为 test.png。
图片保存后就要识别, 这里利用到的是百度云的接口。
可以看到人工智能产品中提供文字识别接口。注册账号登陆,点击进入通用文字识别即可。
选择立即使用,创建一个应用。会自动生成一些秘钥。
最后点技术文档:
选择python-SDK,右方箭头指的是前面生成的秘钥,把这段代码复制下来,然后把接口说明内连接服务器的代码也拷贝下来即可!
""" 你的 APPID AK SK """
APP_ID = ''
API_KEY = ''
SECRET_KEY = ''
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
""" 读取图片 """
file_path = r'test.png'
def get_file_content(path):
with open(path, 'rb') as fp:
return fp.read()
image = get_file_content(file_path)
""" 调用通用文字识别, 图片参数为本地图片 """
response = client.basicGeneral(image)
all_text = ''
for i in response['words_result']:
all_text += i['words']+'\n'
print(all_text)