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

 

 

百度智能云还有其他好玩的应用,比如图片识别、语音技术、人脸识别等等,后面有空再研究

 

posted @ 2021-12-16 16:47  小贝书屋  阅读(2329)  评论(0编辑  收藏  举报