当前位置: 首页 > 后端技术 > PHP

php人像分割人像抠图证件照更改背景颜色在线制作证件照APIAi智能抠图

时间:2023-03-29 14:32:34 PHP

需求我们生活中也随时需要证件照,比如去办证、体检、考试等等等,但并不是每个人都知道如何拍照。有时候去照相馆拍照不一定要电子证件照,所以我们可以利用技术开发一个拍完照片马上出图的在线工具。准备本文使用百度AI开放平台提供的免费人像分割API实现抠图。百度在这方面是很认真的。看过很多同类型的API,别人都得花钱。免费试用的次数只有几次或几十次。打电话,直接百度5万次!而且百度在AI方面比较专业,处理的结果非常好!1.首先申请APIhttps://ai.baidu.com/tech/bod...2.创建应用程序后,您可以获得APIKey和SecretKey3。开发文档https://ai.baidu.com/ai-doc/B...4.编写代码(1)获取access_token获取access_token文档:https://ai.baidu.com/docs#/Au...代码获取获取access_tokenCode'client_credentials','client_id'=>'填写你的','client_secret'=>'填写你的');curl_setopt($ch,CURLOPT_POSTFIELDS,$data);//检查认证证书的来源curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);//从证书中检查是否存在SSL加密算法curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,2);//获取的信息以文件流的形式返回,而不是直接输出curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);//请求头数组$headers[]="user-agent:Mozilla/5.0(WindowsNT10.0;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/69.0.3947.100Safari/537.36";//设置请求头curl_setopt($ch,CURLOPT_HTTPHEADER,$headers);//发起请求$result=curl_exec($ch);echo$result;//关闭请求curl_close($ch);?>图片转base64工具:http://tool.chinaz.com/tools/...请求界面,人像分割代码'上一步获取的access_token','image'=>'这里toUsebase64toremovethebase64codeoftheimageheader');curl_setopt($ch,CURLOPT_POSTFIELDS,$data);//检查认证证书的来源curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);//检查是否SSL加密算法是从证书中存在curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,2);//获取的信息以文件流的形式返回,而不是直接输出curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);//请求头数组$headers[]="Content-Type:application/x-www-form-urlencoded";//设置请求头curl_setopt($ch,CURLOPT_HTTPHEADER,$headers);//发起请求$result=curl_exec($ch);//解析json$arr_result=json_decode($result);$imgurl=$arr_result->前景;//输出图像echo"";echo"
";echo"";echo"";//关闭请求curl_close($ch);?>最后返回成功切出图片的base64图片代码,同样不带图片头。如果需要显示图片,只需要拼接data:image/jpg;base64即可!效果结论本文只是一个请求过程。如果想做一个可用的请求,需要改进图片上传自动转base64,去除图片头,自动获取access_token并缓存(因为它有有效期),最后返回多种背景色即可,fixed-sizeimagejsondata作者:TANKING日期??:2021-04-25网址:http://www.likeyuns.com微信:sansure2016