你一定用过那种“OCR神器”,可以把图片中的文字提取出来,极大的提高工作效率。
今天,我们就来做一款实时截图识别的小工具。顾名思义,运行程序时,可以实时的把你截出来的图片中的文字识别出来。
下次,当你想要复制“百度文库”中的内容时,不妨试试这个程序。
![68bd3cd40044bc5da9bfa05c38b60901.gif](https://i-blog.csdnimg.cn/blog_migrate/d9b7a846688b2e3e1ed4f9740e13b106.gif)
![8bd4fb25b77e0ae539a6d36dcd2c5297.png](https://i-blog.csdnimg.cn/blog_migrate/26b98209b1d1ba382527eb2e7b128ac6.jpeg)
![8571e92cc25957bb48ceb081e82478bb.png](https://i-blog.csdnimg.cn/blog_migrate/3b0e8dccfae4f8a1c1d0f11887e02290.jpeg)
![68bd3cd40044bc5da9bfa05c38b60901.gif](https://i-blog.csdnimg.cn/blog_migrate/d9b7a846688b2e3e1ed4f9740e13b106.gif)
顺便安利一波Snipaste,
必备效率神器
import keyboard# 利用截图软件(Snipaste)截图到剪贴板# 输入键盘的触发事件
keyboard.wait(hotkey="f1")
keyboard.wait(hotkey="ctrl+c")
time.sleep(0.1)
上面这段代码执行之后,现在已经有一张图片等待在剪贴板里了。
2)保存截图
利用PIL模块的ImageGrab,可以把剪贴板里的那张图片,保存到当前的目录下,并命名为“screen.png”
from PIL import ImageGrab# 把图片从剪切板保存到当前路径
image = ImageGrab.grabclipboard()
image.save("screen.png")
3)识别截图中的文本
方法1:pytesseract模块
优点:免费,易用
缺点:识别效果很一般,准确率不高
使用方法介绍:
1)pip install pytesseract
2)安装 tesseract-ocr.exe 配置环境变量
3)修改pytesseract.py文件,将tesseract_cmd指向Tesseract-OCR的tesseract.exe的绝对路径。
参考文章
见评论第一条
import pytesseractfrom PIL import Image# 法一:利用pytesseract模块# 参数一:图片 # 参数二:简体中文
text = pytesseract.image_to_string(Image.open("screen.png"), lang='chi_sim')
print(text)
来看看效果:
![68fafd5cdfee6ee5ca49f987677b64d8.png](https://i-blog.csdnimg.cn/blog_migrate/d5d727c06f6d1a02f6ce9f65bb9d193a.jpeg)
![42bf15762c8263ae4ee18370e8419458.png](https://i-blog.csdnimg.cn/blog_migrate/77db791ccfeb2f8aedef0a476538d8fc.jpeg)
![6b11d76b5cd3ed9917642b493eedc6f1.png](https://i-blog.csdnimg.cn/blog_migrate/6fc09f8954400ad58f53fd81e73619f5.jpeg)
![6f398bd25a24d46d62a2129a8c7c1f3e.png](https://i-blog.csdnimg.cn/blog_migrate/1a4d0ed32f330846592b594e3ab335ea.jpeg)
import pytesseractfrom aip import AipOcrfrom 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"])
结果
如文章首图:
![8571e92cc25957bb48ceb081e82478bb.png](https://i-blog.csdnimg.cn/blog_migrate/3b0e8dccfae4f8a1c1d0f11887e02290.jpeg)
![68bd3cd40044bc5da9bfa05c38b60901.gif](https://i-blog.csdnimg.cn/blog_migrate/d9b7a846688b2e3e1ed4f9740e13b106.gif)
1)利用 pytesseract 模块
2)利用百度API接口
回复“ 截图 ”可获取完整代码的Github地址END
扫描二维码
获取更多精彩
![e48f0289aa140371782aa0dc28831a6d.png](https://i-blog.csdnimg.cn/blog_migrate/d33c3e06674337b02f740faa4802f1da.png)
往期精彩回顾
面试官问日历模块,我直接用Flask开发Web日历
Python爬虫+Flask,带你创建车标学习网站
Python配置文件模块埋个坑,险些影响了版本上线!
神探程序员,带你千里捉小三!
将安卓手机打造成你的python全栈开发利器
使用python假装黑客,批量破解朋友的网站密码
觉得不错就点一下“在看”吧
![41a8f2d6480f6b48d6856547b89aecf2.gif](https://i-blog.csdnimg.cn/blog_migrate/251cbdb486d700d47b8e704017427357.gif)