之前始终应用的阿里云证件照制作,因为咱们的我的项目须要制作的要求非常高,最近发现阿里云的证件照接口制作解决的照片不满足咱们的要求,我来发现有一家证件照研究院的制作证件照接口制作进去的成果非常好,根本满足了咱们的要求,而且他还有检测性能,能够对制作进去的照片进行检测
证件照研究院接口文档地址:http://dev.id-photo-verify.co...
应用证件照接口后期筹备:
1:注册
登录证件照研究院的官网进行注册:http://dev.id-photo-verify.com/
2:创立利用
注册胜利后进入管理中心,创立一个利用,这里我应用的是利用是制作并检测证件照
3:制作并检测证件照接口地址
http://apicall.id-photo-verif...
4:post传参
接口的返回参数如下:
以上的返回参数,咱们次要应用到了img_wm_url_list参数和file_name参数,其余以解检测参数,咱们能够依据咱们的需要来应用即可
img_wm_url_list参数返回的是带水印的证件照图片
此接口是收费的所有只能返回带水印的证件照,如果须要无水印的证件照的话,咱们须要应用file_name参数值来调用另一个接口,那个接口是免费的,具体操作详情请查看
https://www.wj0511.com/site/d...
5:代码实例(这里我应用的是Yii的yiisoft/yii2-httpclient插件调用接口)
$file = 'XXX';//图片地址$mime_type= mime_content_type($file);//将图片进行base64编码$base64_data = base64_encode(file_get_contents($file));$base64_file = $base64_data;$data = [ 'file' => $base64_file,//须要制作的base64照片 'spec_id' => '1',//已有的规格ID,具体参考文档 'app_key' => 'XXX',//已申请的app_key 'is_fair' => 1,//是否美颜 //美颜参数 'fair_level' => [ 'leyelarge' => 0.2, 'reyelarge' => 0.2, 'mouthlarge' => 0, 'skinwhite' => 0.2, 'skinsoft' => 0.2, 'coseye' => 0, 'facelift' => 0.2, ], 'ppi' => 300, 'background_color' => [[ 'start_color' => 3379122, 'color_name' => 'blue', 'enc_color' => 3379122, ]], 'hairline_top_max_p' => '200px', 'hairline_top_min_p' => '100px', 'facial_width_max_p' => 300, 'facial_width_min_p' => 180, 'file_size_max' => 204800, 'file_size_min' => 102400, //上面是须要检测的参数,值越小越严 'facial_pose' => 10,//人脸姿势 'sight_line' => 20,//眼帘程度 'face_contrast' => 60,//眼帘程度 'facial_shelter' => 80,//面部无遮挡 'eyes_close' => 50,//闭眼 'eyes_nature' => 10,//眼帘天然 'mouse_nature' => 50,//嘴巴天然 'shoulder_equal' => 1,//肩膀等高 'face_unbalance' => 70,//阴阳脸 'glasses_glare' => 20,//眼镜反光 'face_blur' => 80,//含糊水平 'face_over_kbt' => 60,//过曝光 'bg_shadow' => 10,//背景暗影 'incomplete_head' => 60,//头部残缺 'face_too_dark' => 80,//照片过暗 'body_posture' => 60,//身材姿势 身子不正,自拍时斜向下,举手,手放脑后,抠鼻孔,托腮等 'hat_threshold' => 20,//帽子检测];$client = new Client();$response = $client->createRequest() ->setMethod('POST') // 申请形式 ->setUrl('http://apicall.id-photo-verify.com/api/cut_check_pic') // 申请地址 ->setData($data) //数据传数组 ->setHeaders(['Content-Type'=>'application/json']) //header ->setFormat(Client::FORMAT_JSON) //提交的数据的格局 ->send();//获取检测后果,1示意通过,0示意失败$result = isset($response->data['result']) ? $response->data['result'] : [];$checkResult = isset($result['check_result']) ? $result['check_result'] : [];//保留水印照片$savePath = '保留地址';$img = file_get_contents($response->data['result']['img_wm_url_list'][0]);file_put_contents($savePath, $img);//获取file_name$fileName = $response->data['result']['file_name'][0];
如上咱们就能够实现制作证件照