• 垃圾知识分类 图片识别 拍照识别垃圾小程序开发过程中的心得体会


       最近公司在开发一个垃圾知识分类的小程序,需要用到的一个功能就是,让用户手机拍照即可识别出这个垃圾属于哪个分类,比如是干垃圾还是湿垃圾?

       这个我们用到的识别图片的接口就是百度的图像识别,具体大家可以参考下他的官方文档,我们就直接上代码了,和大家 分享下开发中的一些过程。

    https://ai.baidu.com/docs#/ImageClassify-API/top  这个是百度图像识别接口

       需要注意的是,百度提供的sdk里是使用的图片路径然后解析成base64图片内容,再进行识别。

      但是小程序里是有一个接口可以直接获取图片的base64内容,这样就不需要将图片上传到服务器,然后获取图片路径地址,获取到路径地址以后再解析base64内容。

       直接用微信的接口获取图片的base64内容,然后直接识别,这样速度就可以快很多了。

       具体大家看代码了。

       第一步是自己去百度注册开发者账号,然后填写自己的appid apikey等信息,要注意的是,百度现在提供每天500次的免费识别,超过五百次每天以后才收费。

       

    $client = new AipImageClassify($confset['APP_ID'], $confset['API_KEY'], $confset['SECRET_KEY']);
    
    
    // 如果有可选参数
        $options = array();
        $options["baike_num"] = 5;//返回百科信息的结果数,默认不返回
    // 带参数调用通用物体识别
        if($data['is_base64']==1){//图片已经是base64的 就不需要base64转码了
            $needbase64=0;
            $image = $data['image'];
        }else{//HTTP 协议的图片地址  需要先获取
            $needbase64=1;
            $image = file_get_contents($data['image']);
        }
    
    
    
    $client->advancedGeneral($image, $options,$needbase64)
    
    
    
    
     /**
         * 通用物体识别接口
         *
         * @param string $image - 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式
         * @param array $options - 可选参数对象,key: value都为string类型
         * @description options列表:
         *   baike_num 返回百科信息的结果数,默认不返回
         * @return array
         */
        public function advancedGeneral($image, $options=array(),$needbase64=1){
    
            $data = array();
            if($needbase64==1){
                $data['image'] = base64_encode($image);
            }else{
                $data['image'] = $image;// 小程序可以直接获取base64 不需要转base64了  2019年7月18日17:06:23秋峰增加的
            }
    
    
            $data = array_merge($data, $options);
    
            return $this->request($this->advancedGeneralUrl, $data);
        }

       好了,大概的方法就是这些,具体大家就根据自己的场景灵活使用了。

    秋峰,phper、java后端开发,javascript前端开发,全栈开发,目前自创业,做项目系统开发,做公众号以及小程序等的开发, 今天就给大家分享到这里,希望对大家有所帮助。欢迎交流 大家相互学习 共同提高 我的 微信号:qiufeng2999

  • 相关阅读:
    向量的旋转
    阅读开源库源码,发现这两个方法,惭愧啊!真没看明白
    小实例窥探dotnet垃圾回收
    记录asp.net在IE10下事件丢失排错经过
    CSS布局技巧之——各种居中
    前端程序员容易忽视的一些基础知识
    Web前端体系的脉络结构
    前端程序员容易忽视的一些基础知识
    CSS布局技巧之——各种居中
    面试分享:一年经验初探阿里巴巴前端社招
  • 原文地址:https://www.cnblogs.com/xinweiyun/p/11230232.html
Copyright © 2020-2023  润新知