失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > MATLAB如何调用百度云文字识别API

MATLAB如何调用百度云文字识别API

时间:2019-02-16 06:01:34

相关推荐

MATLAB如何调用百度云文字识别API

写过很多关于百度云API调用的,其实多数功能都是相通的,只要认真的看了一部分,其他的也能很快掌握。这次写文字识别是因为帮师兄从APP的曲线中提取数据,但是在手机里面截图之后还要在电脑里面手动按照日期和地址来修改图片名称,因此就希望通过文字识别来自动命名,如下图:

下面进入正题。

首先进入百度云的官网注册登录百度云官网登陆之后进入管理控制台,如下图所示

然后进入人工智能分区中的文字识别

创建一个应用即可,直接选取默认

官方技术文档可以参考接着我们来看使用方法,整个流程和我们之前的人脸识别大致相同,在调用api之前我们需要获得acess_token,这个可以通过我们的api key和secret key获得,这个可以在应用管理里面看到,如下图:

用代码总结起来就是

api_key = '你的 api key';secret_key = '你的secret key';url_token = ['/oauth/2.0/token?grant_type=client_credentials&client_id=',api_key,'&client_secret=',secret_key];token = webread(url_token);token = token.access_token; % 至此,获得了token

效果如下,但是要注意token的有效期是1个月,就是这个token在一个月内是不会变的,这段时间不用重复请求,直接用就好

接下来就是要将需要的图片编码,准备上传。这里需要用到一个常用的,但是matlab自身没有的函数base64file,可以在matlab官方下载,我这里直接贴出来。这个函数真的非常有用,很多地方需要用到这种编码。

function [base64string,base64string_len] = base64file(file)fid = fopen(file,'rb');bytes = fread(fid);fclose(fid);base64string_len = size(bytes,1);encoder = mons.codec.binary.Base64;base64string = char(encoder.encode(bytes))';end

我们再来看官方给出的请求参数

可以选择两种上传方式,一种是网络图片,一种是将图片编码上传,我们这里选择编码上传本地图片,代码如下:

jj = ['C:\Users\75549\Desktop\新建文件夹\站点日期\' num2str(i) '.jpg']; % 图片路径[pp ,~] = base64file(jj); % 需要保存上面提到的函数api_key = '你的api_key';secret_key = '你的secret_key';url_token = ['/oauth/2.0/token?grant_type=client_credentials&client_id=',api_key,'&client_secret=',secret_key];token = webread(url_token);token = token.access_token; % 至此,获得了tokenwebb = ['/rest/2.0/ocr/v1/general_basic?access_token=' token];oo = webwrite(webb,'image',pp,'Content-Type','application/x-www-form-urlencoded');

返回参数:

识别出来的文字就在words_result 里面。

下面是相关的文章,有兴趣可以看看,有关我如何提取曲线数据和其他API的使用。

链接: 百度云人脸识别.

链接: 有道翻译.

链接: 百度地图经纬度.

链接: 百度云语音识别

链接: MATLAB 发送邮件 sendmail的使用.

链接: MATLAB 曲线数据提取工具 GUI

如果觉得《MATLAB如何调用百度云文字识别API》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。