028-86261949

当前位置:首页 > 技术交流 > 截图文字识别工具

截图文字识别工具

2018/11/15 16:56 分类: 技术交流 浏览:51

有时候在海报上面,图片上面,或者PDF文档中,经常出现一些唯美的文字。这个时候想要复制下来才发现不能复制。因为有的是图片,有的是PDF。可以使用Python制作一个小工具,来识别图片上的文字。但是保存图片等又太麻烦,如果能截图一键识别就好了。我们用Python来实现。

 

## 实现截图

 

第一步,先要实现能截图,并将图片保存起来以供识别。截图我们就使用常见的截图工具就好(如果另外安装截图软件或者指定特殊截图软件也是不方便的)。常见的截图工具是微信截图(Alt+A截图)QQ截图(Alt+Ctrl+A截图),我使用Snipaste截图工具(F1截图)。有了截图工具,就需要按键盘的按键进行截图,所以使用Python模块来监控键盘事件就好了,这样就知道了什么时候进行截图,什么时候截图结束。新建py文件名为screenShot,代码及注释如下:

 

```

 

- `keyboard.wait` 知道按压f1才会执行下一行
- ` im = ImageGrab.grabclipboard()` 读取剪切板中的图片


 

使用keyboard.wait监控键盘事件,当点击某个指定的按键以后才会执行下一行。我的截图工具采用ctrl+c结束,这也是结束的标志。其他截图工具也可以使用这种方式,比如QQ截图是Alt+Ctrl+A开始截图,enter键结束截图,并将截图的数据保存在了剪切板了。只需从剪切板读取数据,保存在本地等待识别即可。
 

 

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

 

## 图片识别

 

上一步将图片保存在了本地等待识别,这一步采用百度云提供的接口来识别图片。具体的识别方式可以查看百度云官网的文字识别模块。新建py文件名为baidu,代码内容如下:
程序的核心功能是使用百度云提供的`basicGeneral`方法来识别图片。在识别图片之前,要进行工单的配置。工单的配置需要登陆百度云账号,并且建立一个可用的工单。官网有提供具体方法。
 
## 工单配置
在xxx处填写你的信息
 
## 各文件调用
 
使用screenShot文件调用baidu文件:
 
直接运行该文件即可
 
```shell
python screenShot.py
 
   感谢源码时代教学讲师提供此文章!
   本文为原创文章,转载请注明出处!
 
#标签:截图,识别工具