Python技术: 截图文字识别工具
#01
截图文字识别工具
有时候在海报上面,图片上面,或者PDF文档中,经常出现一些唯美的文字。这个时候想要复制下来才发现不能复制。因为有的是图片,有的是PDF。
可以使用Python制作一个小工具,来识别图片上的文字。但是保存图片等又太麻烦,如果能截图一键识别就好了。我们用Python来实现。
#02
实现截图
第一步,先要实现能截图,并将图片保存起来以供识别。截图我们就使用常见的截图工具就好(如果另外安装截图软件或者指定特殊截图软件也是不方便的)。
常见的截图工具是微信截图(Alt+A截图)QQ截图(Alt+Ctrl+A截图),我使用Snipaste截图工具(F1截图)。
有了截图工具,就需要按键盘的按键进行截图,所以使用Python模块来监控键盘事件就好了,这样就知道了什么时候进行截图,什么时候截图结束。新建py文件名为screenShot,代码及注释如下:
imagekeyboard.wait` 知道按压f1才会执行下一行
im = ImageGrab.grabclipboard()` 读取剪切板中的图片
使用keyboard.wait监控键盘事件,当点击某个指定的按键以后才会执行下一行。我的截图工具采用ctrl+c结束,这也是结束的标志。
其他截图工具也可以使用这种方式,比如QQ截图是Alt+Ctrl+A开始截图,enter键结束截图,并将截图的数据保存在了剪切板了。只需从剪切板读取数据,保存在本地等待识别即可。
注意:程序中有一行sleep(0.01)也就是程序会在此等待一下,目的是为了防止图片还没有保存在剪切板程序就从剪切板读取图片。
#03
图片识别
上一步将图片保存在了本地等待识别,这一步采用百度云提供的接口来识别图片。具体的识别方式可以查看百度云官网的文字识别模块。新建py文件名为baidu,代码内容如下:
image程序的核心功能是使用百度云提供的basicGeneral
方法来识别图片。在识别图片之前,要进行工单的配置。工单的配置需要登陆百度云账号,并且建立一个可用的工单。官网有提供具体方法。
#04
工单配置
image在xxx处填写你的信息
#05
各文件调用
使用screenShot文件调用baidu文件:
image直接运行该文件即可
image
image