+ 收藏我们

网站模板

网站模板搜索
404模板 营销型模板 外贸网站模板 单页模板 双语模板 标签大全
电话:18630701785
首页 > 站长学院 > php怎么实现身份证OCR识别 >

php怎么实现身份证OCR识别

时间:2024-04-12 09:26:10

本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑

基于PHP的身份证OCR识别接口调用示例

接口备注:识别身份证正面或反面的一些关键字
通过https://www.juhe.cn/docs/api/id/287自助申请开通接口,获取api请求KEY

请求参数
名称    必填    说明
key    是    在个人中心->我的数据,接口名称上方查看
image    是    图像数据,base64编码(不包含data:image/jpeg;base64,),要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式
side    是    front:正面识别;back:反面识别;
php示例代码
其中将证件图片转为base64字符串请参考https://www.sdk.cn/details/vOVl36qOLmlV8E9WXJ

$apiurl="Http://apis.juhe.cn/idimage/verify";//请求地址
$key = "";//32位的KEY
$image= "";//图片base64后字符串
$side="front";//正反面
$params=compact('key','image','side');//组合请求参数
$content=juhecurl($apiurl,$params,1);//post请求获取接口返回内容JSON字符串
$result = json_decode($content,true);//解析成数组
if($result){
    if($result['error_code']=='0'){
        print_r($result);
    }else{
        echo $result['error_code'].":".$result['reason'];
    }
}else{
    echo "请求失败";
}

//网络请求方法
 function juhecurl($url,$params=false,$ispost=0){
        $httpInfo = array();
        $ch = curl_init();
 
        curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
        curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 3);
        curl_setopt( $ch, CURLOPT_TIMEOUT , 8);
        curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
        if ($params) {
            if (is_array($params)) {
                $paramsString = http_build_query($params);
            } else {
                $paramsString = $params;
            }
        } else {
            $paramsString = "";
        }   
        if( $ispost )
        {
            curl_setopt( $ch , CURLOPT_POST , true );
            curl_setopt( $ch , CURLOPT_POSTFIELDS , $paramsString);
            curl_setopt( $ch , CURLOPT_URL , $url );
        }
        else
        {
            if($paramsString ){
                curl_setopt( $ch , CURLOPT_URL , $url.'?'.$paramsString);
            }else{
                curl_setopt( $ch , CURLOPT_URL , $url);
            }
        }
        $response = curl_exec( $ch );
        if ($response === FALSE) {
            //echo "cURL Error: " . curl_error($ch);
            return false;
        }
        $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
        $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
        curl_close( $ch );
        return $response;
}
JSON返回示例
身份证正面识别结果示例:
{
"reason": "成功",
"result":{
         "realname": "张三",
         "sex": "男",
         "nation": "侗",
         "born": "19760613",
         "address": "贵州省都匀市甘塘镇长红机器厂散居户169号",
         "idcard": "522701197606131935",
         "side": "front",
         "orderid": 339057896
        

},
"error_code": 0
}
--------------------------------------------------------------------------------------------
身份证背面识别结果示例:
{
"reason": "成功",
"result":{
     "begin": "20130501",
     "department": "东台市公安局",
     "end": "20180501", 
     "side": "back",
     "orderid": 478799279
          },
"error_code": 0
}

有问题可以加入网站技术QQ群一起交流学习

本站会员学习、解决问题QQ群(691961965)

客服微信号:lpf010888

Title