垃圾知識分類 圖片識別 拍照識別垃圾小程序開發過程中的心得體會


 

   最近公司在開發一個垃圾知識分類的小程序,需要用到的一個功能就是,讓用戶手機拍照即可識別出這個垃圾屬於哪個分類,比如是干垃圾還是濕垃圾?

   這個我們用到的識別圖片的接口就是百度的圖像識別,具體大家可以參考下他的官方文檔,我們就直接上代碼了,和大家 分享下開發中的一些過程。

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM