【只要10分钟 快速掌握文字识别】
置顶
爱小妞宝 发布于2018-06 浏览:149788 回复:277
68
收藏
最后编辑于4天前

【只要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】

 

收藏
点赞
68
个赞
共277条回复 最后由風華祗傷回复于4天前
#299風華祗傷回复于4天前

发不了帖子 想问问

能不能支持POST跨域???

本意gba.nenge.net用户可以填写自己的API,密匙去玩游戏使用翻译,可以无视语言问题.但是POST提交就要跨域了.

另外建议签免可以使用明文密匙,

在多功能模拟器RetroArch是支持AI翻译的,像这个"http://ztranslate.net/service?api_key=API_KEY" POST =>"{image:base64 data}"

另外使用MD5又不能跨域有点自欺欺人的感觉. 如果服务器使用,那么密匙根本不会泄露,鉴权也是多余的.

而跨域翻译[客户端发起翻译要求]才担心密匙泄露吧....但是WEB客户端并不能发起跨域请求.至于APP客户端,稍微加密或者服务器转发都无需担心密匙泄露.

 

            translateBaidu: (method,config) => {
                let data = new FormData();
                config = config ||{};
                method = method || 'GET';
                let image = this.DATA.SCREEN; // uintArray8
                let key = 'xxx';
                let bodydata = {
                    "image":window.btoa(String.fromCharCode.apply(null, image)),//new File(image,'test.png',{type: "image/png",}),
                    "from":'en',
                    "to":'zh',
                    "appid":'20220119001059108',
                    "salt":(new Date).getTime(),
                    "cuid":'APICUID',
                    "mac":'mac',
                    "version":3,
                    "paste":0,
                    //"query":'apple',
                    "callback":'NengeApp.MSGJSON'
                }
                for(var i in bodydata){
                    data.append(i,config[i]||bodydata[i]);
                }
                //SparkMD5 https://github.com/satazor/js-spark-md5/tree/v3.0.2
                data.append("sign",SparkMD5.hash(data.get('appid') + SparkMD5.ArrayBuffer.hash(new ArrayBuffer(image)) + data.get('salt') + data.get('cuid') + data.get('mac') + key));
                if (method == 'GET') data = new URLSearchParams(data);
                this.AddJs('https://fanyi-api.baidu.com/api/trans/sdk/picture' + (method == 'GET' ? '?' + data : ''));
                return;
                fetch(
                    new Request('https://fanyi-api.baidu.com/api/trans/sdk/picture' + (method == 'GET' ? '?' + data : ''), {
                        'method': method,
                        'headers': {
                            'Content-Type': method == 'GET' ? 'application/x-www-form-urlencoded' : 'multipart/formdata'
                        },
                        'body': method == 'GET' ? undefined : data
                    })
                ).then(
                    v => v.json()
                ).then(
                    v => this.MSGJSON(v)
                ).catch(
                    e =>alert('很遗憾!翻译功能要跨域!')
                );
            }
            },
0
#298songrudvdsjb回复于7天前

如何将一张有10个数字的图片在100ms内识别出来

0
#297151******02回复于20天前

碰到一个问题:手机拍照后直接提交识别,无法识别出文字(图片2~4M),如果把图片发送到微信,再保存到相册,最后再提交识别可以识别出来(200k左右)。我猜测是图片大小原因使得ocr识别失准,于是再后台对图片处理,处理后大小为850k(原2.6M),结果还是不行。我把这两种方式的图片到保存到本地查看,图片可以打开,格式正确,图片显示也一样。求教发送问题的原因。(拍摄图片的手机为ios 11)

1
#296yyhh19941227回复于2021-11

好复杂,我只是想要文字识别而已

4
#295182******13回复于2021-09
#294 tangu169988回复
图片不清。根本没办法应付POSTMAN改版后的情况。现在的POST改版了。没有找到这些东西
展开

可以在这里看下:https://ai.baidu.com/ai-doc/OCR/skruaza7j,也可以看下视频版。里面都是新版的postman。

0
#294tangu169988回复于2021-09

图片不清。根本没办法应付POSTMAN改版后的情况。现在的POST改版了。没有找到这些东西

0
#293七年期限回复于2021-08
#286 139*****710回复
AK和SK哪里获取呢

这个在你的控制台把

0
#291戒心冷色系回复于2021-08
#281 炸桥小分队回复
POSTMAN网站下哪一款???我下的界面跟图示完全不一样!!我只要识别一些图片中的文字就好,搞那么复杂!百度不死天理不容,气死
展开

不熟悉postman。如果使用VScode的话,下载一个postcode插件就可以用了

0
#290戒心冷色系回复于2021-08
#287 RunningMan狂回复
用python调用识别pdf上的文字会出错,但用png格式的就不会...
展开

pdf不是图片格式的啊,转成图片试一试

0
#289活宝_壮心不已_回复于2021-08

通用文字识别支持离线吗

0
#288ocetor回复于2021-08

太麻烦了,开发成产品再来卖吧,这不是产品

4
#287RunningMan狂回复于2021-08

用python调用识别pdf上的文字会出错,但用png格式的就不会...

0
#286139*****710回复于2021-07

AK和SK哪里获取呢

0
#285139*****710回复于2021-07

AK和SK哪里获取呢

0
#284189*****848回复于2021-07

这谁看得懂

 

3
#283isaaya回复于2021-06

最近正在使用PaddleOCR

0
#28218500862512qq回复于2021-06

只想识别几个字的看这个干嘛。。。QQ不香吗

4
#281炸桥小分队回复于2021-06

POSTMAN网站下哪一款???我下的界面跟图示完全不一样!!我只要识别一些图片中的文字就好,搞那么复杂!百度不死天理不容,气死

5

子用户登录
子用户登录链接获取

您输入的帐号格式不正确 ?why,长度有限制吗?

子用户使用百度账号登录
子用户登录,选择左下角"使用百度账号登录",切换进入百度账号登录页面。输入子用户绑定的百度账号与绑定的百度账号的密码。

请问 子用户绑定的百度账号,还是 百度云账号 ?请明确,不要含糊。百度云账号!=百度账号。

0
#279176******05回复于2021-04

直接教程 怎么使用sdk 不香吗?搞这些

0
TOP
切换版块