python实现面部特效_Python3实现“美颜”功能|python3教程|python入门|python教程

python实现面部特效_Python3实现“美颜”功能|python3教程|python入门|python教程https www xin3721 com eschool pythonxin372 本文转载至知乎 ID Charles 白露未晞 知乎个人专栏下载 W3Cschool 手机 App 0 基础随时随地学编程戳此了解导语利用 Python 实现美颜

https://www.xin3721.com/eschool/pythonxin3721/

本文转载至知乎ID:Charles(白露未晞)知乎个人专栏

下载W3Cschool手机App,0基础随时随地学编程>>戳此了解

导语

利用Python实现美颜。。。

这是之前在GitHub上下载的一个项目。。。

似乎有些日子了。。。

所以暂时找不到原项目的链接了。。。

今天抽空看了下它源代码的主要思想,似乎挺简单的。。。

于是决定用Python3自己复现一下。。。

T_T感觉还是挺有趣的。。。

Just have a try!

相关文件

文件下载链接: https://bianchenghao.cn/s/18-mGsw0VeQxaQJ7Ljiqowg

密码: 6rd8

开发工具

Python版本:3.5.4

相关模块:numpy模块;cv2模块;dlib模块。

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

注1:

cv2即opencv-python模块。

注2:

dlib模块在anaconda3下可以直接pip安装,否则容易出错。相关文件中提供了编译好的python3.5版本的whl文件,供非anaconda3使用者安装使用。

主要思路

声明:

主要思路是根据项目源代码推测的,不算是我的思路,希望我没有猜错。

特征提取:

利用dlib库提取面部特征,面部特征点包括:

下巴、嘴、鼻子、左右眼、左右耳等部分。

针对人脸的不同部分进行具体的美化操作。

另外,由于dlib库无法提取额头边界坐标,而额头的美颜也十分重要。。。

因此假设额头在眉心附近,并通过相应的参数做出一个椭圆作为额头的粗略估计。

实际操作过程中需要将与五官重合部分剔除,并只保留与鼻子肤色相同的部分。

美化方法:

就是很平常的美白、增加鲜艳度、磨皮和锐化操作。

美白和增加鲜艳度在HSV空间实现;

磨皮用了高斯滤波器和双边滤波器;

锐化用的是卷积锐化算法。

具体实现过程详见源代码。

使用演示

说明:

根据自己的需求调用相应的美化方法实现美颜。

默认参数仅供参考,以实际效果为准,可以自己调整一些参数让效果看起来更棒。

使用方式:

在cmd窗口运行Beauty.py文件即可。

待处理照片路径在源代码232行,请自行修改。

演示1:

67348d57b201e2d6fb31bf598af6f967.png

失败2:

15b70392f23b6cf0b52dd82fbab12a1f.png

失败3:

94cdf93da9c63aa8cc76393b7c5a8603.png

T_T好吧效果比较一般。。。

更多

总体来说。。。效果比较一般。。。

同时我发现有些头型并不适合用这个算法美颜。。。比如我试了马云的照片。。。结果很不OK。。。

而且参数似乎不太好调。。。

做成Demo的话或许会好调很多。。。

有兴趣的朋友可以试试去做个美图秀秀高度不仿版。

T_T,就这样吧。

今天的文章 python实现面部特效_Python3实现“美颜”功能|python3教程|python入门|python教程分享到此就结束了,感谢您的阅读。
编程小号
上一篇 2025-01-06 09:21
下一篇 2025-01-06 09:17

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/103541.html