tp5引入百度ocr實現文字識別
阿新 • • 發佈:2019-01-13
一、登入百度AI開放平臺建立orc應用
選擇影象識別
→建立應用
建立好的應用:
二、下載sdk包
我演示的是php的:https://ai.baidu.com/sdk#ocr
三、tp框架引入sdk包
我在最外層新建了一個Ocr下載好的sdk包放入到vendor第三方類庫裡面:
四、程式碼實現
控制器裡:
<?php
namespace app\index\controller;
use think\Controller;
class Index extends Controller
{
public function index( )
{
if(isset($_POST['sub']))
{
$token=$this->curl("https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=xxxxxxx&client_secret=xxxxxxxx");
$token=json_decode($token,true);
$token=$token['access_token']; //獲取token
$image = 'http://www.people.com.cn/mediafile/pic/20130530/74/8789617213943725442.jpg'; //使用者上傳的圖片
$app_id="xxxxxx"; //你的appid
$api_key="xxxxxx"; //你的api_key
$secret_key="xxxxxx"; //你的secret_key
vendor('Ocr.AipOcr'); //類庫引入
$client = new \AipOcr($app_id,$api_key,$secret_key); //例項化AipOcr類
// 如果有可選引數
$options = array();
$options["language_type"] = "CHN_ENG";
$options["detect_direction"] = "false";
$options["detect_language"] = "false";
$options["probability"] = "false";
$options["access_token"]=$token; //獲取token
// 帶引數呼叫通用文字識別, 圖片引數為遠端url圖片
$data = $client->basicGeneralUrl($image, $options); //呼叫通用文字識別介面
print_r($data);die;
}
else
return $this->fetch('index');
}
public function curl($url,$postData=[],$headers=[]){
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url); //要訪問的地址
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); //執行結果是否被返回,0返,1不返
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false);
curl_setopt($ch,CURLOPT_HTTPHEADER,$headers);
if($postData){
curl_setopt($ch,CURLOPT_TIMEOUT,60);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$postData);
}
if(curl_exec($ch)==false){
$data='';
}
else{
$data=curl_multi_getcontent($ch);
}
curl_close($ch);javascript:;
return $data;
}
}
五、效果展示
這是需要識別的圖片: