图片中的文字识别算是人工智能中的一个很常见的需求
stroyka 发布于2020-12-22 15:46 浏览:159 回复:0
0
收藏

一、百度AI开放平台介绍
1.  百度AI开放平台网址为:http://ai.baidu.com/

点击开发资源,可以找到对应AI功能板块的文档和SDK下载

SDK 支持多种语言和开发平台,平台方面包括android和ios,语言方面包括Java,PHP,Python,C++,C#等多种语言。

2. 基本要求

a. 注册百度云用户

b. 使用时需要联网

二、文字识别SDK(本文以Python语言为使用范例)
1. 点击下载文字识别对应的Python SDK文件压缩包,并解压。(无需分python2 或python3,通用支持)

2. 文件夹下会有aip、bin文件夹,以及LICENSE无格式文件,setup.py

3. 安装:如果已安装pip, 执行 pip install baidu-aip 即可,如果已安装setuptools,执行python setup.py install即可。

三、 使用
1. 创建应用

     a. 在开放平台→控制台→人脸识别,进入文字识别产品服务界面,点击 创建应用→在必填栏填入内容→立即创建

     b. 在应用列表下,可看见刚刚创建的应用,包括应用名称,AppID,API Key和Secret Key,请记下这几串字符,后面有用

2. 在第二步下载的文件夹下创建一个test.py文件,写入如下代码:

from aip import AipOcr

# id information (这里就是上面要记下的几串字符,相当于一个访问密钥,)
APP_ID = '1470****'
API_KEY = 'sIsgTwZ57Ho3fKla********'
SECRET_KEY = 'EgBGcwydSwpHNzsfry2dd8pC********'

client = AipOcr(APP_ID, API_KEY, SECRET_KEY)


# Read Image
def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read()


# Call usual ocr interface
result1 = client.basicGeneral(get_file_content('test.jpg'))
print(result1)

result2 = client.basicAccurate(get_file_content('test.jpg'))
print(result2)

result3 = client.basicGeneralUrl("http://img1.mydrivers.com/img/20181106/s_a15aa25b973c4f7da898e68c419c8644.jpg")
print(result3)
获得以下输出结果:

{'log_id': 7300777478404048134, 'words_result_num': 2, 'words_result': [{'words': '7364'}, {'words': '识别结果:7364'}]}
{'error_msg': 'No permission to access data', 'error_code': 6}
{'log_id': 1474218340211569542, 'words_result_num': 10, 'words_result': [{'words': '2》《=》'}, {'words': '优秀'}, {'words': '村在线'}, {'words': '智能设备奖'}, {'words': '家电类年度产品奖'}, {'words': '边年度空气净化器'}, {'words': '年度'}, {'words': '用户喜爱奖'}, {'words': '智能空气净化'}, {'words': '极客公园'}]}

以上代码中,test.jpg 为同文件下的图片,"http://img1.mydrivers.com/img/20181106/s_a15aa25b973c4f7da898e68c419c8644.jpg"为网络上的一张图片。

如下

 

 

 

四、结论
从第三步中可以看出,识别结果还是很准确的。

另外为什么 result2 的结果是“{'error_msg': 'No permission to access data', 'error_code': 6}”,这是因为在创建应用的时候,没有勾选“文字精准识别”的复选款,所以应用服务器端未分配这个功能的权限。

五、展望
本篇只是非常简单的利用了一下百度AI开放平台,文字识别下还有更多丰富的功能和玩法,更遑论有语音识别,人脸识别各种应用了。

1. 希望能用自己的代码实现类似的功能,那么百度AI可以作为一个benchmark的存在,做一个对比。

2. 希望百度AI不要太早注重盈利,虽然有些功能已经收费了。。。但起码还是对学习者有很多免费的使用功能的,希望能借助这么一个免费的平台,进一步学习人工智能。

收藏
点赞
0
个赞
快速回复
TOP
切换版块