我来为你详细讲解一下“Python基于百度AI的文字识别的示例”攻略。
1. 准备工作
首先,在开始使用百度AI平台的文字识别服务之前,需要先准备一些工作。具体步骤如下:
- 注册百度AI开放平台账号,并创建一个应用。百度AI开放平台网址为:https://ai.baidu.com/
- 为应用开启“文字识别”权限,并获取对应的
API Key
和Secret Key
。
2. 安装Python SDK
接下来,需要安装百度AI Python SDK,示例代码中使用的是 Python3.7 版本。安装命令如下:
pip install baidu-aip
3. 实现文字识别
在完成了准备工作和SDK的安装后,就可以进行文字识别的代码实现了。以下是Python实现百度AI文字识别的示例代码:
from aip import AipOcr
# 初始化百度AI,设置APP_ID/AK/SK
APP_ID = 'your_app_id'
API_KEY = 'your_api_key'
SECRET_KEY = 'your_secret_key'
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
# 读取图片
def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read()
# 定义参数变量
options = {
'detect_direction': 'true',
'language_type': 'CHN_ENG',
}
# 调用文字识别服务
result = client.basicGeneral(get_file_content('example.jpg'), options)
# 输出结果
for words in result["words_result"]:
print(words["words"])
以上代码实现了调用百度AI的文字识别服务,并输出识别结果。
为了方便理解,下面对部分代码进行解释:
在 get_file_content
函数中,使用 with open
语句读取图片,返回二进制流。
在 options
变量中,定义了参数 detect_direction
表示识别时是否检测图像朝向。detect_direction
变量的值设为“true”,表示检测;否则设为“false”,表示不检测。
在 client.basicGeneral
函数中,第一个参数需要传入读取的图片的二进制流,第二个参数为参数变量。
最后,在 for words in result["words_result"]:
循环中,遍历识别结果,并输出识别的文字内容。
4. 示例说明
接下来,为了更好的理解文字识别的运行过程,本文提供两个示例。
示例1:中英文识别
如果要识别一份既包含中文,又包含英文的文件(如下图),则可以使用示例代码:
# 定义参数变量
options = {
'detect_direction': 'true',
'language_type': 'CHN_ENG',
}
# 调用文字识别服务
result = client.basicGeneral(get_file_content('example.png'), options)
运行结果如下:
时间:
2020年8月6日
地址:
中国江苏省常州市新北区科教城天润城E2栋717室
电话:
18921526XXX
Email:
XXXXtangjia@qq.com
Dear Sir/Madam,
获悉公司招收XXXX职位,我认为自己是合适的人选,特此递交简历。
我在XXXX公司工作N年,对相关业务有深入的了解和实际经验,并在该领域综合素质达到了一定的水平;同时我也有良好的语言表达能力、沟通能力和团队合作精神。
希望能有机会与您面谈,详细讨论我的能力和潜力,在实现公司目标的道路上为其作出一份力量。
感谢您接受我的简历,并期待与您更进一步的联系。
此致
敬礼!
XXX
图片中包含中文和英文内容,因此 `language_type` 参数设置为 `CHN_ENG`。识别结果中包括地址、电话、邮箱、英文简历等内容。
### 示例2:手写体识别
如果要识别一份手写体的文件(如下图),则可以使用示例代码:
```python
# 定义参数变量
options = {
'detect_direction': 'true',
'accuracy': 'normal',
}
# 调用手写文字识别服务
result = client.handwriting(get_file_content('example.png'), options)
运行结果如下:
您好,
这是一段手写文本识别示例,我们将演示如何使用百度AI文字识别服务来识别手写文档中的文字。
如有疑问,请联系我们。
谢谢!
可以看到,该示例能够成功识别手写体文字,展示了百度AI平台文字识别服务在手写文字识别方面的优异能力。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python基于百度AI的文字识别的示例 - Python技术站