• 技术文章 >后端开发 >php教程

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

    不言不言2018-07-05 15:10:42原创4570
    这篇文章主要介绍了关于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/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)
    //       }
    //     }
    //   }
    // }

    以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

    相关推荐:

    php实现算术验证码的方法

    PHP7中 MongoDB Driver的使用介绍

    以上就是php实现调用百度的ocr文字识别接口的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php实现接口
    上一篇:PHP 迭代器 生成器的介绍 下一篇:laravel中间件的使用
    Web大前端开发直播班

    相关文章推荐

    • PHP 对 memcache操作类• 打开php错误提示 nginx+php• JAVA 和PHP 比较• PHP闭包(Closure)初探• 关于PHP中Session文件过多的问题及session文件保存位置,_PHP教程

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网