Py学习  »  Python

有趣的python小项目,利用python制作一款截图识别软件

python • 4 年前 • 360 次点击  

先给大家推荐一款截图软件,非常方便,可以把截出的图片放置到窗口上


并且可以随意移动,这个是微软开发的一款工具:Snipaste


支持各类电脑系统,先简单介绍一下它的用法,F1截图,ctrl+c把图片复制到剪贴板,方便下次使用(ctrl+v)。

我们要做一款截图工具,也就是模仿这款软件的功能。

利用到的python模块有:

  1. import keyboard

  2. from PIL import ImageGrab

  3. 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)

最终的效果:

*声明:本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

觉得不错,点个“在看”然后转发出去

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/51115
 
360 次点击