吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 35450|回复: 75
收起左侧

[其他转载] 【证件照换底色小程序】php人像分割 人像抠图 证件照换底色 在线制作证件照API

    [复制链接]
yuupuu 发表于 2021-4-25 11:52
本帖最后由 yuupuu 于 2021-9-17 18:23 编辑

证件照在我们生活中也是随时都需要的
例如去办证、体检、或者是参加考试等,但不是每个人都会P图
有些时候并不需要问了一个电子版证件照去照相馆拍照,所以可以利用技术
开发一个在线工具,即拍即出图。

微信截图_20210425113944.png

本文使用百度AI开放平台提供的免费人像分割API实现抠图
这点百度是很良心的,看过很多同款API,其他都得花钱
免费体验的次数也就几次、几十次调用,而百度直接就是50000次!
况且百度是做AI比较专业的,处理出来的结果很好!

微信截图_20210425114242.png
微信截图_20210425120413.png

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] 纯文本查看 复制代码
<?php
header("Content-type:application/json");

//初始化 CURL
$ch = curl_init();

//目标服务器地址 
curl_setopt($ch, CURLOPT_URL, 'https://aip.baidubce.com/oauth/2.0/token');

//设置上传的文件
curl_setopt($ch, CURLOPT_POST, true);
$data = array(
 'grant_type' => '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 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3947.100 Safari/537.36";
//设置请求头
curl_setopt($ch, CURLOPT_HTTPHEADER,$headers);

//发起请求
$result = curl_exec($ch);
echo $result;

//关闭请求
curl_close($ch);

?>


(2)请求接口,人像分割

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

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


微信截图_20210425115005.png



[PHP] 纯文本查看 复制代码
<?php
header("Content-type:text/html;charset=utf-8");

//初始化 CURL
$ch = curl_init();

//目标服务器地址 
curl_setopt($ch, CURLOPT_URL, 'https://aip.baidubce.com/rest/2.0/image-classify/v1/body_seg');

//设置上传的文件
curl_setopt($ch, CURLOPT_POST, true);
$data = array(
 'access_token' => '上一步获取到的access_token',
 'image' => '这里要用base64去掉图片头的base64代码'

);
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->foreground;

// 输出图片
echo "<img src='./8.jpg' style='background:#f00'/>";
echo "<img src='data:image/png;base64,".$imgurl."' style='background:#f00'/><br/>";
echo "<img src='data:image/png;base64,".$imgurl."' style='background:#39f'/>";
echo "<img src='data:image/png;base64,".$imgurl."' style='background:#fff'/>";

//关闭请求
curl_close($ch);

?>


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


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


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


本人已经在做~效果不错~



--------------------------------
2021-09-17
小程序已经在开发了


微信截图_20210917182010.png

免费评分

参与人数 10吾爱币 +11 热心值 +10 收起 理由
ayuwangluo + 1 我很赞同!
shijian166 + 1 + 1 我很赞同!
pinpo + 1 我很赞同!
pinhai + 1 + 1 谢谢@Thanks!
开始123 + 2 + 1 用心讨论,共获提升!
黄蜀黍 + 1 + 1 我很赞同!
雪莱鸟 + 2 + 1 谢谢@Thanks!
szhorse + 2 + 1 坐等成品
苏浩 + 1 + 1 热心回复!
xiaohuihui2 + 1 + 1 太牛了啊

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

xwei123 发表于 2022-4-21 00:50
mylxnet 发表于 2021-12-9 16:52
弱弱的问一下,小米证件照在哪里可以下载得到,我小米手机怎么没有,应用商城也没有啊?

新版小米应该没有专用证件照功能了,不过可以用图册里面推荐栏里面的魔法抠图功能间接实现,网上找证件照3底色截屏保存在手机里面,然后再用魔法抠图先选要处理的人像相片,会自动抠出人物再选第二个添加底色就成了,每次能节约2-4块钱呢,刚测试成功
mylxnet 发表于 2021-12-9 16:52
a774733519 发表于 2021-10-28 20:10
小米证件照不仅全部免费,而且还无水印无广告。一直在用

弱弱的问一下,小米证件照在哪里可以下载得到,我小米手机怎么没有,应用商城也没有啊?
文人墨客 发表于 2021-4-25 11:57
Allen666 发表于 2021-4-25 11:58
感谢大佬,正好需要
 楼主| yuupuu 发表于 2021-4-25 11:58
文人墨客 发表于 2021-4-25 11:57
太复杂了 这个还。

要是自己写更复杂,这是请求api~
卡路里德苏瓦 发表于 2021-4-25 12:01
有些复杂   不会能。
茶城兄弟 发表于 2021-4-25 12:21
对于会编程的童鞋来说,一切如此简单。
夏520 发表于 2021-4-25 12:30
感谢大佬,
kof21411 发表于 2021-4-25 12:40
其实就是ai抠图,然后打个蓝底
何长贵 发表于 2021-4-25 13:07
学习了感谢分享
ok667 发表于 2021-4-25 13:09
谢谢楼主
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-22 05:52

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表