php實現調用百度的ocr文字識別介面

來源:互聯網
上載者:User
這篇文章主要介紹了關於php實現調用百度的ocr文字識別介面,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

1、通過登陸百度api擷取文字識別介面

https://ai.baidu.com/tech/ocr/general

具體的介面調用參數按照百度的官方文檔

https://ai.baidu.com/docs#/OCR-API/top

2、接下來的就是調用介面使用和處理資料了。我用的是最普通的介面。每日50000條,不保證並發。

一下為My Code部分:

<?php//access_token調用function request_post($url = '', $param = '') {        if (empty($url) || empty($param)) {            return false;        }                $postUrl = $url;        $curlPost = $param;        $curl = curl_init();//初始化curl        curl_setopt($curl, CURLOPT_URL,$postUrl);//抓取指定網頁        curl_setopt($curl, CURLOPT_HEADER, 0);//設定header        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//要求結果為字串且輸出到螢幕上        curl_setopt($curl, CURLOPT_POST, 1);//post提交方式        curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPost);        $data = curl_exec($curl);//運行curl        curl_close($curl);                return $data;    }    $url = 'https://aip.baidubce.com/oauth/2.0/token';    $post_data['grant_type']       = 'client_credentials';    $post_data['client_id']      = 'your API key';    $post_data['client_secret'] = 'your secret key';    $o = "";    foreach ( $post_data as $k => $v )     {        $o.= "$k=" . urlencode( $v ). "&" ;    }    $post_data = substr($o,0,-1);        $res = request_post($url, $post_data);    $access_token = json_decode($res,1)['access_token'];    //var_dump($access_token);    //調用結束    //post請求介面    function index($access_token){        $data = array(            'url' => 'http://aip.bdstatic.com/portal/dist/1530540600796/ai_images/technology/ocr-general/general/tech-general-original-scanned.png',//你的圖片地址            //'image' => '',            //檢查圖片朝向            'detect_direction' => 'true',            //返回可信度            'probability' => 'true',        );        $response = config($data,$access_token);        return $response;    }    function config($data,$access_token){        //請求URL需要帶 access_token 參數        $url = 'https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token='.$access_token;        $header = array('Content-Type:application/x-www-form-urlencoded');       $response = tocurl($url,$header,$data);       return $response;    }    function tocurl($url, $header, $content){    $ch = curl_init();    if(substr($url,0,5)=='https'){            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳過認證檢查           //curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true);  // 從認證中檢查SSL密碼編譯演算法是否存在        }        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);        curl_setopt($ch, CURLOPT_URL, $url);        curl_setopt($ch, CURLOPT_HTTPHEADER,$header);        curl_setopt($ch, CURLOPT_POST, true);        curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($content));        $response = curl_exec($ch);        if($error=curl_error($ch)){            die($error);        }        curl_close($ch);        return $response;    }    $text_json = index($access_token);    $text_arr = json_decode($text_json,1);    var_dump($text_arr);?>
//最後得到的資料為: // array(4) {//   ["log_id"]=&gt;//   int(5013683280382131405)//   ["direction"]=&gt;//   int(0)//   ["words_result_num"]=&gt;//   int(6)//   ["words_result"]=&gt;//   array(6) {//     [0]=&gt;//     array(2) {//       ["words"]=&gt;//       string(3) "目"//       ["probability"]=&gt;//       array(3) {//         ["variance"]=&gt;//         float(0)//         ["average"]=&gt;//         float(0.839904)//         ["min"]=&gt;//         float(0.839904)//       }//     }//     [1]=&gt;//     array(2) {//       ["words"]=&gt;//       string(9) "Bad百度"//       ["probability"]=&gt;//       array(3) {//         ["variance"]=&gt;//         float(0.029807)//         ["average"]=&gt;//         float(0.904807)//         ["min"]=&gt;//         float(0.560053)//       }//     }//     [2]=&gt;//     array(2) {//       ["words"]=&gt;//       string(44) "百度線上網路技術(北京)有限公司"//       ["probability"]=&gt;//       array(3) {//         ["variance"]=&gt;//         float(1.0E-6)//         ["average"]=&gt;//         float(0.999414)//         ["min"]=&gt;//         float(0.996175)//       }//     }//     [3]=&gt;//     array(2) {//       ["words"]=&gt;//       string(50) "Baidu Online Network Technology(Beijing)Co., Ltd E"//       ["probability"]=&gt;//       array(3) {//         ["variance"]=&gt;//         float(0.028514)//         ["average"]=&gt;//         float(0.931889)//         ["min"]=&gt;//         float(0.226499)//       }//     }//     [4]=&gt;//     array(2) {//       ["words"]=&gt;//       string(36) "北京百度網訊科技有限公司"//       ["probability"]=&gt;//       array(3) {//         ["variance"]=&gt;//         float(1.0E-6)//         ["average"]=&gt;//         float(0.999341)//         ["min"]=&gt;//         float(0.997463)//       }//     }//     [5]=&gt;//     array(2) {//       ["words"]=&gt;//       string(49) "Beijing Baidu Netcom Science Technology Co,, Ltds"//       ["probability"]=&gt;//       array(3) {//         ["variance"]=&gt;//         float(0.033526)//         ["average"]=&gt;//         float(0.896252)//         ["min"]=&gt;//         float(0.452083)//       }//     }//   }// }

以上就是本文的全部內容,希望對大家的學習有所協助,更多相關內容請關注topic.alibabacloud.com!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.