吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 36066|回复: 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] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?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] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?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, 2025-4-3 06:16

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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