欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python用百度云接口实现通用文字识别

程序员文章站 2022-05-22 10:35:57
...

安装对应的库以及寻找技术文档的内容可以查看我的上一篇文章,这篇文章我们单独进行——银行卡识别。实际上内容大同小异。

https://blog.csdn.net/weixin_46530492/article/details/108437468

上次创建的应用仍然可以解决这次的问题~
通用文字识别调用给出的示例(从技术文档中可以找到):

{
"log_id": 2471272194,
"words_result_num": 2,
"words_result":
    [
        {"words": " TSINGTAO"},
        {"words": "青島睥酒"}
    ]
}

大致有两种函数,第一个是client.basicGeneral()函数,是通用文字识别,第二种是client.basicAccurate()函数,是高精度版文字识别,识别会更准确,耗时也会相应增长。需要哪一种看自己的选择。

#python百度ai的通用文字识别代码
from aip import AipOcr
import time

# 定义常量
APP_ID = '22566031' #你百度帐号上的APP_ID
API_KEY = 'joVlDhxGwHp45YnNV0DxNBSw' #你百度帐号上的API_KEY
SECRET_KEY = 'xxxxxxxxxxxx'#你百度帐号上的SECRET_KEY

# 初始化AipFace对象
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)

""" 读取图片 """
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

image = get_file_content('C:/Users/lenovo/Pictures/QQ图片20200907171844.png')#将左侧括号内替换为待识别的图片路径

print(type(image))
""" 调用文字识别 """
result=client.basicGeneral(image)

print(result["words_result])

python用百度云接口实现通用文字识别

> <class 'bytes'>
[{'words': '2.6应用举例'}, {'words': '般来讲,一个经济、管理问题凡满足以下条件时,才能建立线性规划的模型。'}, {'words': '(1)要求解问题的目标函数能用数值指标来反映,且为线性函数;'}, {'words': '(2)存在着多种方案及有关数据'}, {'words': '(3)要求达到的目标是在可以量化的,并且有足够数据的一定约束条件下实现的,这'}, {'words': '些约束条件可用线性等式或不等式来描述。'}, {'words': '下面举例说明线性规划在经济管理等方面的应用。'}]

这次挑战一个难度大一些的——粉笔字
python用百度云接口实现通用文字识别
client.basicGeneral()函数

<class 'bytes'>
[{'words': '年之计美如树谷,十年之'}, {'words': '计莫如树木,身之计美知人'}, {'words': '摘自子·权仔'}]

可以看出识别粉笔字的准确性就很差,再尝试client.basicAccurate()函数

<class 'bytes'>
[{'words': '一年之计莫如树谷,十年之'}, {'words': '计莫如树木,终身之计莫如人'}, {'words': '摘自《管子·权修》'}]

几乎达到了百分百的准确率。

后面可以继续尝试怎么把公众号的后台和百度云的接口联系起来,就可以在公众号里面完成多种多样有趣的功能了。