#01

截图文字识别工具

有时候在海报上面,图片上面,或者PDF文档中,经常出现一些唯美的文字。这个时候想要复制下来才发现不能复制。因为有的是图片,有的是PDF。

可以使用Python制作一个小工具,来识别图片上的文字。但是保存图片等又太麻烦,如果能截图一键识别就好了。我们用Python来实现。

#02

实现截图

第一步,先要实现能截图,并将图片保存起来以供识别。截图我们就使用常见的截图工具就好(如果另外安装截图软件或者指定特殊截图软件也是不方便的)。

常见的截图工具是微信截图(Alt+A截图)QQ截图(Alt+Ctrl+A截图),我使用Snipaste截图工具(F1截图)。

有了截图工具,就需要按键盘的按键进行截图,所以使用Python模块来监控键盘事件就好了,这样就知道了什么时候进行截图,什么时候截图结束。新建py文件名为screenShot,代码及注释如下:

Python截图的功能 python截图工具_Python

keyboard.wait` 知道按压f1才会执行下一行

im = ImageGrab.grabclipboard()` 读取剪切板中的图片

使用keyboard.wait监控键盘事件,当点击某个指定的按键以后才会执行下一行。我的截图工具采用ctrl+c结束,这也是结束的标志。

其他截图工具也可以使用这种方式,比如QQ截图是Alt+Ctrl+A开始截图,enter键结束截图,并将截图的数据保存在了剪切板了。只需从剪切板读取数据,保存在本地等待识别即可。

注意:程序中有一行sleep(0.01)也就是程序会在此等待一下,目的是为了防止图片还没有保存在剪切板程序就从剪切板读取图片。

#03

图片识别

上一步将图片保存在了本地等待识别,这一步采用百度云提供的接口来识别图片。具体的识别方式可以查看百度云官网的文字识别模块。新建py文件名为baidu,代码内容如下:

Python截图的功能 python截图工具_Python截图的功能_02

程序的核心功能是使用百度云提供的`basicGeneral`方法来识别图片。在识别图片之前,要进行工单的配置。工单的配置需要登录百度云账号,并且建立一个可用的工单。官网有提供具体方法。

#04

工单配置

Python截图的功能 python截图工具_剪切板_03

在xxx处填写你的信息

#05

各文件调用

使用screenShot文件调用baidu文件:

Python截图的功能 python截图工具_python截图识别文字_04

直接运行该文件即可

Python截图的功能 python截图工具_百度云_05