前言
今天,我们就来做一款实时截图识别的小工具
开发工具
Python版本: 3.9.4
相关模块:
PIL模块
keyboard模块
pytesseract模块
以及一些Python自带的模块
效果图展示
源码分析
等待用户截图
此处需要借助贴图神器(Snipaste)
其中“f1”是截图的快捷键,“ctrl+c”是把截图保存到剪贴板的快捷键。
如果使用qq截图的话,需要把快捷键改为对应的“ctrl+alt+c”和“enter”
import keyboard
# 利用截图软件(Snipaste)截图到剪贴板
# 输入键盘的触发事件
keyboard.wait(hotkey=\"f1\")
keyboard.wait(hotkey=\"ctrl+c\")
time.sleep(0.1)
上面这段代码执行之后,现在已经有一张图片等待在剪贴板里了。
保存截图
利用PIL模块的ImageGrab,可以把剪贴板里的那张图片,保存到当前的目录下,并命名为“screen.png”
from PIL import ImageGrab
# 把图片从剪切板保存到当前路径
image = ImageGrab.grabclipboard()
image.save(\"screen.png\")
识别截图中的文本
方法一
pytesseract模块
优点:免费,易用
缺点:识别效果很一般,准确率不高
使用方法介绍:
pip install pytesseract
安装 tesseract-ocr.exe 配置环境变量
修改pytesseract.py文件,将tesseract_cmd指向Tesseract-OCR的tesseract.exe的绝对路径。
来看看效果:
方法二
百度API接口
AI开放平台文档中心
https://ai.baidu.com/ai-doc
查看python语言的SDK文档
点击右上角(控制台),登录自己的百度账号,创建“文字识别”的应用
import pytesseract
from aip import AipOcr
from PIL import ImageGrab
# 法二:利用百度API
APP_ID = \'你的 App ID\'
API_KEY = \'你的 Api Key\'
SECRET_KEY = \'你的 Secret Key\'
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
# 读取图片
with open(\"screen.png\", \'rb\') as f:
image = f.read()
# 调用百度API通用文字识别(高精度版),提取图片中的内容
text = client.basicAccurate(image)
result = text[\"words_result\"]
for i in result:
print(i[\"words\"])
文章到这里就结束了,感谢你的观看,Python实用脚本系列,下篇文章分享python打造实时截图识别OCR
为了感谢读者们,我想把我最近收藏的一些编程干货分享给大家,回馈每一个读者,希望能帮到你们。
干货主要有:
① 2000多本Python电子书(主流和经典的书籍应该都有了)
② Python标准库资料(最全中文版)
③ 项目源码(四五十个有趣且经典的练手项目及源码)
④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)
⑤ Python学习路线图(告别不入流的学习)
⑥ 两天的Python爬虫训练营直播权限
All done~详见个人简介或者私信获取完整源代码。。
往期回顾
Python脚本实现玩转emoji
Python脚本实现快速卡通化人物头像
Python脚本实现天气查询应用
Python实现自动监测Github项目并打开网页
Python实现文件自动归类
Python实现帮你选择双色球号码
Python实现每日更换“必应图片”为“桌面壁纸”
Python实现批量加水印
Python实现破译zip压缩包
Python实现批量下载百度图片
来源:https://www.cnblogs.com/tsp728/p/15125544.html
图文来源于网络,如有侵权请联系删除。