這篇文章主要介紹了關於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"]=>// int(5013683280382131405)// ["direction"]=>// int(0)// ["words_result_num"]=>// int(6)// ["words_result"]=>// array(6) {// [0]=>// array(2) {// ["words"]=>// string(3) "目"// ["probability"]=>// array(3) {// ["variance"]=>// float(0)// ["average"]=>// float(0.839904)// ["min"]=>// float(0.839904)// }// }// [1]=>// array(2) {// ["words"]=>// string(9) "Bad百度"// ["probability"]=>// array(3) {// ["variance"]=>// float(0.029807)// ["average"]=>// float(0.904807)// ["min"]=>// float(0.560053)// }// }// [2]=>// array(2) {// ["words"]=>// string(44) "百度線上網路技術(北京)有限公司"// ["probability"]=>// array(3) {// ["variance"]=>// float(1.0E-6)// ["average"]=>// float(0.999414)// ["min"]=>// float(0.996175)// }// }// [3]=>// array(2) {// ["words"]=>// string(50) "Baidu Online Network Technology(Beijing)Co., Ltd E"// ["probability"]=>// array(3) {// ["variance"]=>// float(0.028514)// ["average"]=>// float(0.931889)// ["min"]=>// float(0.226499)// }// }// [4]=>// array(2) {// ["words"]=>// string(36) "北京百度網訊科技有限公司"// ["probability"]=>// array(3) {// ["variance"]=>// float(1.0E-6)// ["average"]=>// float(0.999341)// ["min"]=>// float(0.997463)// }// }// [5]=>// array(2) {// ["words"]=>// string(49) "Beijing Baidu Netcom Science Technology Co,, Ltds"// ["probability"]=>// array(3) {// ["variance"]=>// float(0.033526)// ["average"]=>// float(0.896252)// ["min"]=>// float(0.452083)// }// }// }// }
以上就是本文的全部內容,希望對大家的學習有所協助,更多相關內容請關注topic.alibabacloud.com!