Home >Backend Development >PHP Tutorial >PHP implements calling Baidu's OCR text recognition interface
这篇文章主要介绍了关于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"]=> // 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) // } // } // } // }
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
The above is the detailed content of PHP implements calling Baidu's OCR text recognition interface. For more information, please follow other related articles on the PHP Chinese website!