python使用百度文字识别功能方法详解

  

Python使用百度文字识别功能方法详解

在这篇文章中,我将详细讲解如何使用百度AI提供的文字识别功能,来实现将图片中的文字信息提取出来并转化成可用的文本数据。

准备工作

在开始使用百度文字识别功能之前,你需要先申请一个百度开发者账号,并创建一个文字识别应用(即创建一个应用,并获取该应用的 APP_ID、API_KEY 和 SECRET_KEY 参数)。

安装百度AI Python SDK

百度AI提供了 Python SDK,我们可以通过pip安装它。

pip install baidu-aip

使用示例

文字识别

在下面的代码中,我将展示如何使用百度文字识别功能,将远程图片的文字信息提取出来。

from aip import AipOcr

# 以下参数均为你申请的文字识别应用的参数
APP_ID = 'your_app_id'
API_KEY = 'your_api_key'
SECRET_KEY = 'your_secret_key'

client = AipOcr(APP_ID, API_KEY, SECRET_KEY)

url = "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1594078087196&di=9c99c9123a1bf8f85f7f6584a5b832e3&imgtype=0&src=http%3A%2F%2Fi1.sinaimg.cn%2FIT%2Fcr%2F2009%2F0531%2Fc155391t10313.jpg"

result = client.basicGeneralUrl(url)

print(result)

输出结果为:

{
    'log_id': 793295759404042759,
    'words_result_num': 3,
    'words_result': [
        {
            'words': 'KFC烤翅'
        },
        {
            'words': '2 19元\n'
        },
        {
            'words': '图片\n'
        }
    ]
}

表格文字识别

百度文字识别功能也支持表格文字的识别,我们可以使用以下示例代码,将图片中的表格文字信息提取出来。

from aip import AipOcr

# 以下参数均为你申请的文字识别应用的参数
APP_ID = 'your_app_id'
API_KEY = 'your_api_key'
SECRET_KEY = 'your_secret_key'

client = AipOcr(APP_ID, API_KEY, SECRET_KEY)

image_path = "table.png"

# 读取图片
with open(image_path, 'rb') as fp:
    image = fp.read()

# 表格文字识别
result = client.formRecognition(image)

print(result)

输出结果为:

{
    'request_id': '1602149787,550d48af-517e-4c0e-af58-7b055b8c2d4e',
    'result': {
        'templateSign': 'card_1',
        'retData': {
            'name': {
                'itemStr': 'xxxxx医院'
            },
            'labor': {
                'itemStr': '非住院( 3日),其他'
            },
            'age': {
                'itemStr': '34 岁'
            },
            'sex': {
                'itemStr': '女'
            },
            'diag': {
                'itemStr': '急慢性混合性胃炎'
            },
            'cardID': {
                'itemStr': '3101121982xxxx001X'
            }
        }
    }
}

总结

通过上面的示例代码,我们可以看到,百度文字识别功能非常强大,能够很好地满足我们的实际应用需求。在接下来的开发过程中,你可以根据具体场景需求,进行个性化的开发和调试,来满足你的具体需求。

相关文章