python入门:搭建文字识别OCR
正文开始之前,我得强调此篇文章是面向无基础的新手,所以我们得从环境搭建讲起。
一、python环境搭建
新手强烈建议通过安装anaconda来安装python,因为anaconda作为一款程序环境管理的软件十分强大,安装它之后,python的环境也被安装在里面了,无须再另外操劳了。
二、python第三方库的安装
python之所以火热,这跟它的开源离不开关系,我们可以把第三方库(包、模块)看作是“工具箱”,不同的“工具箱”可以实现不同的功能。那我们此次要用到的“工具箱”有以下三个:requests;base64(python内置的,不用再次“购买”);docx;为了安装这些“工具箱”,我们得去“商店”“购买”,这个“商店”便是电脑的命令行,如果是安装anaconda的,则要进入到CMD.exe Prompt中。
进入到命令行时,我们用以下三个命令安装“工具箱”,下面是“购买”的指令:
pip install requests
pip install docx
三、正式编程
(一)拿“工具箱”
在python编程中,有一个特点:我们一般要先把所要用到的“工具箱”一一拿出来,就像电工修理电器时,需要拿出电压器,电洛铁等工具。下面是拿“工具箱”的代码。我们用jupyter编程。
import requests #用于请求百度接口
import docx #用于将识别结果存储到docx文档中
import base64 #用于64编码
(二)使用百度接口
百度接口具体的使用方法可以到百度云服务官方网站查询,不再赘述。
# client_id 为官网获取的AK, client_secret 为官网获取的SK
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=SD0q3GnC6t6oWgc690A4Bcif&client_secret=K5yXqDfpnOI8EQfHyvzXGBm2QkL8UpxO'
response = requests.get(host)
token=response.json()
request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/handwriting"
(三)使用百度接口识别图片文字
f = open('G://data//极大似然估计.png', 'rb') #这里是需要识别的图片文档路径,
img = base64.b64encode(f.read())
params = {"image":img}
access_token = token['access_token']
request_url = request_url + "?access_token=" + access_token
headers = {'content-type': 'application/x-www-form-urlencoded'}
response = requests.post(request_url, data=params, headers=headers)
if response:
res=response.json()
(四)将识别结果存入到docx文档中
doc=docx.Document()
p=doc.add_paragraph()
for item in res['words_result']:
p.add_run(item['words'])
print(item['words'])
doc.save('G://pics//results//读书1.docx') #识别结果文档命名为 读书1.docx
编辑于 2021-01-09 03:08