最近,老大让我研究下百度云的图像识别,以为会有android版本的,没想到只有java sdk,没办法,自己调着来呗。
百度云提供的使用说明把我看得好累,先把两个jar包放进去很简单,so easy,然后让新建个AipImageClassifyClient,初始化这个东东
// 初始化一个AipImageClassifyClient
AipImageClassifyClient client = new AipImageClassifyClient(APP_ID, API_KEY, SECRET_KEY);
结果找不到,我的天,我一度以为他让我自己创个类,吓哭我了,最后才发现不是什么AipImageClassifyClient,而是AipImageClassify,很好,类终于出来了。然后根据说明给个本地图片进行识别,照着写了,结果报错说主线程不能运行太复杂的过程之类的,就给他加线程里了。第一天没搞出来,加到线程还报错,当时就蒙了,然后找了一个http://blog.youkuaiyun.com/woshi136584/article/details/78295552 打算参考这写,我等级太低就打算照搬吧,结果一写发现我的access_token获取不到,什么鬼,整了一天,最后联系百度云后台反应,第一天就这样不了了之了。第二天再试,发现access_token有了,我就赶紧试下,结果把access_token值加进去还是获取不到识别的json值,还好android studio可以看到jar包里的源码,一看才发现对请求数据路径什么的人家都封装好了,也不用请求什么的,我就打算按照文档里再来一遍,我还就不信了,结果还是让我把获取数据的jsonobject那个放到线程里,放嘛,然后静等结果。出来了,结果出来了,把我高兴的呀,虽然有的不太准,但是结果有了。
我是用的本地图片,所以读写权限不能忘哦。
代码附上:
TextView result; ImageView iv; String imageurl="/storage/emulated/0/cai/cai1.jpg"; AipImageClassify client