实现身份证OCR识别的方法:1、申请开通身份证OCR识别接口,获取API请求KEY;2、调用接口API,通过“function juhecurl($url,$params=false,$ispost=0){…}”方式发出请求,处理数据并返回结果;3、获取接口返回内容,并用json_decode()解析成数组;4、打印返回结果。
本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑
基于PHP的身份证OCR识别接口调用示例
申请接口
接口备注:识别身份证正面或反面的一些关键字
立即学习“PHP免费学习笔记(深入)”;
通过 https://www.juhe.cn/docs/api/id/287?s=cpphpcn 自助申请开通接口,获取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}
登录后复制
推荐学习:《PHP视频教程》
以上就是php怎么实现身份证OCR识别的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2077428.html