OCR的百度定义 (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程;即,针对印刷体字符,采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,并通过识别软件将图像中的文字转换成文本格式,供文字处理软件进一步编辑加工的技术。
header("Content-type: text/html; charset=utf-8");
function curl($img) {
$ch = curl_init();
$url = '/apistore/idlocr/ocr'; //百度ocr api
$header = array(
'Content-Type:application/x-www-form-urlencoded',
'apikey:69c2ace1ef297ce88869f0751cb1b618',
);
$data_temp = file_get_contents($img);
$data_temp = urlencode(base64_encode($data_temp));
//封装必要参数
$data = "fromdevice=pc&clientip=127.0.0.1&detecttype=LocateRecognize&languagetype=CHN_ENG&imagetype=1&image=".$data_temp;
curl_setopt($ch, CURLOPT_HTTPHEADER , $header); // 添加apikey到header
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); // 添加参数
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch , CURLOPT_URL , $url); // 执行HTTP请求
$res = curl_exec($ch);
if ($res === FALSE) {
echo "cURL Error: " . curl_error($ch);
}
curl_close($ch);
$temp_var = json_decode($res,true);
return $temp_var;
}
$wordArr = curl('4.jpg');
if($wordArr['errNum'] == 0) {
var_dump($wordArr);
} else {
echo "识别出错:".$wordArr["errMsg"];
}