使用OCR技术识别图片里面的文字,当然我是没这个技术了,不过好在python有丰富的第三方模块,我门可以使用第三方模块来进行文字识别。在这篇文章中我采用百度提供的文字识别模块来写这个脚本。
使用百度的文字识别,需要百度提供的APP_ID 、API_KEY、SECRET_KEY 。这三个信息只需要登录百度云创建一个应用即可。
登录百度云:https://cloud.baidu.com/进入控制台
在上面的产品服务下面找到文字识别,点进去。
创建应用
填好名称和描述后点击立即创建
创建完之后就可以看到刚刚说的3个信息了
现在开始安装百度文字识别的PYTHON模块。
如果已安装pip,在命令行执行pip install baidu-aip即可。
模块的使用可以查看百度提供的说明文档:https://cloud.baidu.com/doc/OCR/OCR-Python-SDK.html
事先准备一张文字图片
现在开始写代码,第一步当然是要导入百度文字识别模块
定义刚刚的三条信息
根据百度提供的文档,需要在加这样一句
百度提供的文档里有一个函数例子,我们直接拿来用。阅读官方提供的说明文档是很重要的,能让我们快速了解模块的用法,里面也会提供很多例子,我们可以直接拿来使用。
输出识别结果
对比原图,识别一点都没有错,正确率100%。
从输出的结果可以知道,百度返回的识别结果是一个字典。我们需要的文字在这个字典的words_result元素下面的每一个子元素里。我们可以用for循环来提取纯文字。(字典。for循环请阅读:python学习之路(六):列表、元组、字典、循环语句、条件语句)
输出结果现在是纯文字了
完整代码:
不过对于上面那张文字图片,太中规中矩了,识别率非常高,现在试一下用手机拍一张照片,看看能不能识别里面的文字。
来看看识别结果
其他都识别对了,最后一行的字母错了几个,百度的文字识别模块正确率还是很高的。