• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php实现调用百度的ocr文字识别接口

php 搞代码 3年前 (2022-01-21) 18次浏览 已收录 0个评论

这篇文章主要介绍了关于php实现调用百度的ocr文字识别接口,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

1、通过登陆百度api获取文字识别接口

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

具体的接口调用参数按照百度的官方文档

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

2、接下来的就是调用接口使用和处理数据了。我用的是最普通的接口。每日50000条,不保证并发。

一下为我的代码部分:

<?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/techno<b style="color:transparent">(、本文来源gao@!dai!ma.com搞$$代^@码网*</b><i>搞gaodaima代码</i>logy/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)//       }//     }//   }// }

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php实现调用百度的ocr文字识别接口
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址