python调用百度ocr接口,实现图片内文字识别
第一步,到百度智能云申请接口资源
打开地址:https://cloud.baidu.com/?from=console,点击产品下的通用场景文字识别
立即使用,跳转页领取免费资源(土豪可直接购买)
选择全部,0元领取
领取后到应用列表创建应用,会生产三项数据
第二步,编写脚本
首先要安装百度api库,pip install baidu-aip
代码就直接贴了,没有多少内容,主要先前创建应用获得的appid、apikey 、Secret Key填到脚本里,再就是图片跟脚本在一个目录下
from aip import AipOcr APP_ID = '你的AppID' # 你的AppID API_KEY = '你的API Key' # 你的API Key SECRECT_KEY = '你的Secret Key' # 你的Secret Key client = AipOcr(APP_ID, API_KEY, SECRECT_KEY) def get_file_content(filePath): with open(filePath, 'rb') as fp: return fp.read() image = get_file_content('text.jpg')#图片地址 """调用通用文字识别接口, 识别本地图像""" result = client.basicGeneral(image) print(result)
执行以下,返回是一个json格式的内容
提取文字,或者保存到本地text里都行
for item in result['words_result']: print(item['words'])
至于对于图片批量处理,可以把上面的代码封装成函数,然后读取文件夹内图片调用执行即可,批量处理的代码如下
import os from aip import AipOcr APP_ID = 'xxxxx' # 你的AppID API_KEY = 'xxx' # 你的API Key SECRECT_KEY = 'xxx' # 你的Secret Key client = AipOcr(APP_ID, API_KEY, SECRECT_KEY) def ocr(file): result = client.basicGeneral(file) for item in result['words_result']: print(item['words']) def get_file_content(filePath): with open(filePath, 'rb') as fp: return fp.read() path = "C:\\Users\\\Beckham\\Desktop\\1202"#图片存储路径 filenames = os.listdir(path) for file in filenames: if file.endswith('jpg'): print(file) image = get_file_content(str(file))# ocr(image) else: continue
百度智能云还有其他好玩的应用,比如图片识别、语音技术、人脸识别等等,后面有空再研究