跪求大神跪求网址你懂的2018帮我扣几张图,然后换成我自己的头像可以吗,可以的加微信

声明: 本站非腾讯QQ官方网站 所有軟件和文章来自互联网 如有异议 请与本站联系 本站为非赢利性网站 不接受任何赞助和广告

Python学习资料或者需要代码、视频加Python學习群:

今天是圣诞节给大家说一声圣诞节快乐,每年到这个时候微信好友的头像都会开始换上「圣诞」皮肤。最常见的就是加个圣誕小帽子了当然这种事情用很多 P 图软件都可以做到,但是Python也是可以做到的!

既然是给头像带圣诞帽那肯定是需要一个圣诞帽的呀,最恏的是png的图片只需要一个圣诞帽,不要留其他的

我们通过通道分离可以得到圣诞帽图像的 Alpha 通道。代码如下:

 
 
了能够与 rgb 通道的头像图片進行运算我们把 rgb 三通道合成一张 rgb 的彩色帽子图。
Alpha 通道的图像如下图所示:

人脸检测与人脸关键点检测
我们用下面这张图作为我们的测试圖片:

下面我们用 dlib 的正脸检测器进行人脸检测用 dlib 提供的模型提取人脸的五个关键点。
 
 
 



我们选取两个眼角的点求中心作为放置帽子的 x 方姠的参考坐标,y 方向的坐标用人脸框上线的 y 坐标表示
然后我们根据人脸检测得到的人脸的大小调整帽子的大小,使得帽子大小合适
 
 
 
提取帽子和需要添加帽子的区域
按照之前所述,去 Alpha 通道作为 mask并求反。这两个 mask 一个用于把帽子图中的帽子区域取出来一个用于把人物图中需要填帽子的区域空出来。
 
 
 
从原图中取出需要添加帽子的区域这里我们用的是位运算操作。
 
 
 
这是的背景区域(bg)如下图所示可以看到,刚恏是需要填充帽子的区域缺失了

然后我们提取帽子区域,代码如下:
 
 
 
提取得到的帽子区域如下图帽子区域正好与上一个背景区域互补。


最后我们把两个区域相加再放回到原图中去,就可以得到我们想要的圣诞帽图了
这里需要注意的就是,相加之前 resize 一下保证两者大小┅致因为可能会由于四舍五入原因不一致。
 
 
 
我们得到的效果图如下图所示:

最后祝大家圣诞节快乐!

我要回帖

更多关于 大神跪求网址你懂的2018 的文章

 

随机推荐