Python3调用百度AI识别图片中的文字功能示例【测试可用】

  

我会详细讲解如何实现Python3调用百度AI识别图片中的文字功能。以下是完整攻略:

环境搭建

首先,要使用百度AI的文字识别功能,需要先进行环境搭建,搭建方式如下:

  1. 首先,你需要在百度AI控制台上创建一个新应用,获取到该应用的App ID、API Key和Secret Key;

  2. 安装百度AI Python SDK,可以通过 pip 命令安装:

bash
pip install baidu-aip

代码实现

在完成环境搭建之后,我们可以使用如下Python3代码实现调用百度AI识别图片中的文字功能:

import os
from aip import AipOcr

# 填入获取的App ID、API Key和Secret Key
APP_ID = 'your App ID'
API_KEY = 'your API Key'
SECRET_KEY = 'your Secret Key'

# 新建一个AipOcr对象,用于调用百度AI识别图片中的文字接口
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)

# 读取图片文件
filePath = os.path.abspath('image.jpg')
with open(filePath, 'rb') as f:
    img = f.read()

# 调用百度AI识别图片中的文字接口
options = {'language_type': 'CHN_ENG'}
result = client.basicGeneral(img, options)

# 处理识别结果
if 'words_result' in result:
    for item in result['words_result']:
        print(item['words'])
else:
    print(result['error_msg'])

代码中,我们首先填入获取的App ID、API Key和Secret Key,然后新建一个AipOcr对象,用于调用百度AI识别图片中的文字接口。接着,读取指定路径下的图片文件,调用basicGeneral方法进行文字识别,最后打印识别结果。

示例说明

下面,我们来看两个示例,以帮助理解代码实现过程。

示例一:识别一张图片中的所有文字

假设我们要处理一张名为example.jpg的图片,里面有一些文字,希望能够识别出来。我们可以将上面的代码稍作修改,将图片路径改为example.jpg,然后运行代码,输出结果如下:

this is an example
of how to use baidu
ai to recognize text
in image

代码成功将example.jpg中的所有文字提取出来并打印出来了。

示例二:指定识别中英文

百度AI支持处理多种语言,我们可以通过指定options参数中的language_type来限定要识别的语言种类。例如,我们可以将language_type的值设为ENG,以识别图片中的英文,代码如下所示:

import os
from aip import AipOcr

# 填入获取的App ID、API Key和Secret Key
APP_ID = 'your App ID'
API_KEY = 'your API Key'
SECRET_KEY = 'your Secret Key'

# 新建一个AipOcr对象,用于调用百度AI识别图片中的文字接口
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)

# 读取图片文件
filePath = os.path.abspath('image.jpg')
with open(filePath, 'rb') as f:
    img = f.read()

# 调用百度AI识别图片中的文字接口
options = {'language_type': 'ENG'}
result = client.basicGeneral(img, options)

# 处理识别结果
if 'words_result' in result:
    for item in result['words_result']:
        print(item['words'])
else:
    print(result['error_msg'])

上述代码中,我们将options参数中的language_type设为ENG,以识别英文。如果图片中只包含英文,代码将只会输出图片中的英文内容。

以上就是Python3调用百度AI识别图片中的文字功能的完整攻略,希望对你有所帮助。

相关文章