当前位置:Gxlcms > PHP教程 > php实现调用百度的ocr文字识别接口

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

时间:2021-07-01 10:21:17 帮助过:4人阅读

这篇文章主要介绍了关于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文字识别接口的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行