【只要10分钟 快速掌握文字识别】
置顶
爱小妞宝 发布于2018-06 浏览:231982 回复:301
75
收藏
最后编辑于2023-10

【只要10分钟 快速掌握文字识别】
视频版教程https://abcxueyuan.baidu.com/#/course_detail?id=15431&courseId=15431

 

文字版教程

1.获取接口权限       2.下载接口调用工具       3.进行接口调用

具体步骤如下:

1.获取接口权限 

1.1  登录网址:ai.baidu.com

1.2  点击右上角“控制台”,选:文字识别

1.3  输入你的百度账号后,点击登录

1.4  点击“创建应用”(如果您已经在此处创建过应用,则直接点击管理应用,并直接跳转到1.6步)

                                                       图1.4.1创建应用

 

1.5   点击“创建应用”后

       A 输入应用名 ------B 文字识别包名:不需要(本教程只针对API调用,不涉及移动端SDK所以选择“不需要”)

                               ---- C 填写应用描述  ------D 点击“立即创建”。       

      创建后,点击“返回应用列表

                                         图1.5.A 输入应用名

                                             图1.5.B、C

                                           图1.5.D 创建应用完毕

 

1.6  获取密钥

      点击“返回创建应用列表”后,页面出现平台分配的密钥API Key、Secret Key(即AK、SK)。

      使用这两个密钥获取Access Token,调用接口(参见1.7)

                                         图1.6.获取密钥

 

1.7   获取Access Token

       OCR在线接口主要针对HTTP API调用者,调用API时需在URL中需带上Access Token参数。

       获取Access Token的流程如下:

       A、mac电脑,将示例代码复制到“终端”上(用1.6获取的2个密钥分别替换示例代码红色部分)。

             示例代码如下(中括号内的和中括号都要被替换!):

             curl -i -k 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【API Key】&client_secret=【Seceret Key】'

       B、非Mac电脑,操作流程和示例代码参考:http://ai.baidu.com/docs#/Auth/top或参见附录1使用postman获取

保存获取到的Access Token。

 

2.下载接口调用工具   

 

2.1   下载接口调用工具—Postman

        下载地址如下:

        Mac地址:https://app.getpostman.com/app/download/osx64?utm_source=site&utm_medium=apps&utm_campaign=macapp

       Windows地址:https://www.getpostman.com/downloads/

 

2.2   postman安装教程

(1)    双击安装包

(2)    初次登录无账号,可点击图示最下方蓝色字体部分,直接进入postman主界面。

                             图2.2.1点击蓝色字体

                                图2.2.2 postman主界面

 

3.进行接口调用

 

3.1    接口调用

     在postman上快速进行接口请求。

     具体如下:

    (1) 将请求格式切换为“post”

    (2) 输入请求地址(以通用文字识别高精度含位置版为例):

          https://aip.baidubce.com/rest/2.0/ocr/v1/accurate?access_token=【获取的access-token】

                                 图3.1.1 请求格式和请求地址

     (3) 修改请求头(header)

         Key栏输入:Content-Type

         Value栏输入:application/x-www-form-urlencoded


                                       图3.1.2 修改请求头

     (4) 点击body

         选择“x-www-form-urlencoded”keyvalue分别输入1个请求参数

        分别是:

                image=图片的base64转码后的结果,(转码工具:https://tool.css-js.com/base64.html,取消默认“包含头”选项或使用:             http://imgbase64.duoshitong.com,转码后去掉“data:image/*;base64,”)

                                          图3.1.3  输入参数

                                          图3.1.4  base64 转换

 

3.2   开始请求

       点击右上角蓝色“send”,请求成功,直接在下方返回值区域中获得结果:

 

             附录1:使用postman获取AccessToken

             在Postman中将请求方式更换为GET,在后面请求栏输入(中括号内的和中括号都要被替换!):https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【API KEY】&client_secret=【SECRET KEY】

 

收藏
点赞
75
个赞
共301条回复 最后由用户已被禁言回复于2023-10
#85甜心蓝莓00回复于2019-04

11

0
#84200411422回复于2019-03

urlencode() missing 1 required positional argument: 'query' 这个是怎么回事啊

0
#83cx4528554回复于2019-03
#71 静晗0523回复
你的问题解决了吗,我也报这个错误

本人萌新小白,   我也遇见了,你的解决了吗?base64转码输进去就开始还卡顿,你有这种情况吗?

0
#82天秤away回复于2019-03

请问各位老师,我看到官方提供的代码中图片最终上送的数据仅仅是base64的格式,没有加签加密,这种上送数据的方式安全么?至于access_token只是身份验证吧,感觉它保证不了数据本身的安全性。烦请解答下,感谢~

0
#81痛了会哭的骚年回复于2019-03

哈哈哈,感谢楼主分享,刚接触感觉挺有意思的

0
#80影里梧桐回复于2019-03
#79 影里梧桐回复
windows的pasman链接打不开

知道了,现在又想知道怎么删除发的啊^^

0
#79影里梧桐回复于2019-03

windows的pasman链接打不开

3
#78LINSIRZUIAI回复于2019-03
#66 ynixk191919回复
把win64后面的方括号及里面的内容([NY2])都去掉即可。

教程非常不错

0
#77ffshi2010回复于2019-03

这个截图这么模糊?

0
#76sky就是爱音乐回复于2019-03

请问百度api 对传输量有限制嘛,我一次性请求400多张图片,就一直443拒绝访问、连接超时。分批次,一次性40张传反而可以成功

0
#75ihuangrike回复于2019-03

图片的base64转码  可以压缩一下吗?太大了,卡顿严重啊,,,

 

0
#74ihuangrike回复于2019-03

很好很好,一次就测试有结果了。。。简单易懂。

0
#73cvnlixiao回复于2019-03

{
"error_description": "unknown client id",
"error": "invalid_client"
}

谁知道?

0
#72夏祥文piece回复于2019-03

byte[] image = File.ReadAllBytes(Application.dataPath + "/logo.jpg");
try
{
var result = client.GeneralBasic(image);
// var result = client.GeneralBasicUrl(url);
Debug.Log("00 txt== " + result);

var options = new Dictionary{
{"language_type", "CHN_ENG"},
{"detect_direction", "true"},
{"detect_language", "true"},
{"probability", "true"}
};
result = client.GeneralBasic(image, options);
//result = client.GeneralBasicUrl(url, options);
Debug.Log("11 txt== " + result);

}
catch (Exception e)
{
Debug.Log("异常:" + e);
}

 

我的代码 运行后报异常

异常:System.Net.WebException: Error writing request: The authentication or decryption has failed.
at System.Net.WebConnectionStream.WriteHeaders () [0x00000] in :0
at System.Net.WebConnectionStream.SetHeaders (System.Byte[] buffer) [0x00000] in :0
at (wrapper remoting-invoke-with-check) System.Net.WebConnectionStream:SetHeaders (byte[])
at System.Net.HttpWebRequest.SendRequestHeaders (Boolean propagate_error) [0x00000] in :0
UnityEngine.Debug:Log(Object)
TestOCR:GeneralBasicDemo() (at Assets/TestOCR.cs:53)
TestOCR:Start() (at Assets/TestOCR.cs:23)

 

需要怎么处理呢

0
#71静晗0523回复于2019-03
#53 yinyuangel回复
错误100 错误日志   无效的参数 是怎么回事呢?

你的问题解决了吗,我也报这个错误

2
#70对她,离不开。回复于2019-02
#65 blueskiller1回复
我也碰到了,这是个什么情况,求助!!!

我也碰到了,这是个什么情况,求助!!!

0
#69对她,离不开。回复于2019-02

ok

0
#68对她,离不开。回复于2019-02
#47 188******86回复
请求方式改为post。

我是一个测试

0
#67ynixk191919回复于2019-02
#65 blueskiller1回复
我也碰到了,这是个什么情况,求助!!!

把win64后面的方括号及里面的内容都去掉,如:https://app.getpostman.com/app/download/win64

0
#66ynixk191919回复于2019-02
#65 blueskiller1回复
我也碰到了,这是个什么情况,求助!!!

把win64后面的方括号及里面的内容([NY2])都去掉即可。

0
TOP
切换版块