证件照换底色实现方法(通用且效果好)

文章讲述了如何利用百度的API进行人像分割,结合图像融合公式实现证件照背景颜色的无损更换。传统方法效果有限,而深度学习技术能提供更好的分割效果,尽管百度API在头发边缘处理上仍有改进空间。作者通过实践证明了这一方法的有效性。
摘要由CSDN通过智能技术生成

这是个很普遍的需求,很多人都会需要。但是往往这种简单的功能,却被商家包装成商品来售卖,要么会员,要么加群关注,想搞个无损的还得加钱!我曾苦苦找了一两个小时,也找不到一个免费好用的工具或网站。

然而,这样普遍的一个功能,网上找到的实现方法却都还没跟上时代,还是采用捕捉背景色来进行阈值分割,二值化,然后在进行逐个像素替换。那种效果可想而知,仅能针对自己的图片慢慢调参。

实践一番,我采用如下方法进行处理,可以做到功能通用,效果不错。以后背景色想换什么色就什么色,图片还能无损!

人像分割

最终处理效果好不好,关键在于人像和背景的分割好不好,传统的图像处理技术是无法做到通用的,还是得以来深度学习来处理,但是这个技术门槛高呀,就别自己折腾了,用别人现成的:百度API

这个api就是分割人像和背景的,且不限于证件照。具体看api文档介绍。

PS:百度的api处理的效果只能说是基本满意,因为我发现美图也是用的同样的思路,但是美图的处理效果好,体现在头发的边缘处理。百度api处理的仔细看,还是会有原来的背景色的影子。确实专业搞图的比较牛逼哈。奈何美图不对外提供api呀。

图像融合公式

思路是把处理好的人像图当成是上层图层A,然后生成一个想要的背景色图层B,位于底层(这个思路也是观察美图的处理形式发现的)。

网上找了一圈,没有人告诉我证件照换底色是不是可以这么做。于是自己实践,现在告诉你,确实可以这么做!

图层融合的公式是不透明度法C=d*A+(1-d)*B

C:表示最终结果图
d:代表人像图的透明度,他是一个矩阵,再具体点,d是人像图的Alpha通道。
A:表示人像图,他是RGBA 四通道图
B:表示背景图,由自己生成RGB三通道即可

没错,A图层由百度人像分割里的接口提供,就是RGBA通道的。Alpha 通道的值表示是人像区域的可能性,取值范围是[0-255],值越大可能性越高。同时也表示了透明度,值越大越不透明。

实践真实有效,代码就自己实现了,难的还是这个思路。以后再也不求人了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lsjweiyi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值