php人像分割 人像抠图 证件照换底色 在线制作证件照API

证件照在我们生活中也是随时都需要的 例如去办证、体检、或者是参加考试等,但不是每个人都会P图
有些时候并不需要问了一个电子版证件照去照相馆拍照,所以可以利用技术 开发一个在线工具,即拍即出图。
本文使用百度AI开放平台提供的免费人像分割API实现抠图 这点百度是很良心的,看过很多同款API,其他都得花钱
免费体验的次数也就几次、几十次调用,而百度直接就是50000次! 况且百度是做AI比较专业的,处理出来的结果很好!

1、先申请API

https://ai.baidu.com/tech/body/seg

2、创建应用后就能获得API Key和Secret Key

3、开发文档

https://ai.baidu.com/ai-doc/BODY/Fk3cpyxua

4、写代码
(1)获取access_token
获取获取access_token文档:https://ai.baidu.com/docs#/Auth/top

获取获取access_token代码

<?php
function request_post($url = '', $param = '') {
        if (empty($url) || empty($param)) {
            return false;
        }
        
        $postUrl = $url;
        $curlPost = $param;
        $curl = curl_init();//初始化curl
        curl_setopt($curl, CURLOPT_URL,$postUrl);//抓取指定网页
        curl_setopt($curl, CURLOPT_HEADER, 0);//设置header
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上
        curl_setopt($curl, CURLOPT_POST, 1);//post提交方式
        curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPost);
        $headers[] = "Content-Type:application/x-www-form-urlencoded";
    	$headers[] = "user-agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3947.100 Safari/537.36";
        curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER,FALSE);
        curl_setopt ($curl, CURLOPT_SSL_VERIFYHOST, 2);
        $data = curl_exec($curl);//运行curl
        curl_close($curl);
        
        return $data;
    }
$url = 'https://aip.baidubce.com/oauth/2.0/token';
$post_data['grant_type']       = 'client_credentials';
$post_data['client_id']        = '你的 Api Key';
$post_data['client_secret']    = '你的 Secret Key';
$o = "";
foreach ( $post_data as $k => $v ) 
{
	$o.= "$k=" . urlencode( $v ). "&" ;
}
$post_data = substr($o,0,-1);

$res = request_post($url, $post_data);
$access_token = json_decode($res)->access_token;
?>

2)请求接口,人像分割

图片转base64:http://tool.chinaz.com/tools/imgtobase

请求需要去掉base64图片投,即去掉data:image/jpg;base64,

<?php
$url1 = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/body_seg';
$data = array(
 'access_token' => json_decode($res)->access_token,
 'image' => $img
);
$imgresult = request_post($url1, $data);
// 解析json
$arr_result = json_decode($imgresult);
$imgurl = $arr_result->foreground;
 
// 输出图片
echo "<img src='data:image/png;base64,".$imgurl."' style='background:#f00'/><br/>";
?>

最后就返回了抠图成功的base64图片代码,也是不带图片头的,如果需要展示图片,就得拼接data:image/jpg;base64,就可以了!

本文仅仅是做了一个请求流程,如果要做成可用的请求,需要完善图片上传自动转换为base64,并且去掉图片头,自动获取access_token并且缓存(因为有有效期),最后返回多种底色的,固定尺寸的图片json数据。

发财思路:
开发一个小程序或者h5页面,宣传出去,让更多需要的人使用小程序快速现拍或者上传图片完成证件照制作,进行收费下载无水印证件照,或者接入小程序广告,点击广告后,才可以下载无水印图片,免费下载有水印图片。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值