android照片美颜项目_Python3实现“美颜”功能

本文介绍了如何使用Python3和相关库(如numpy, cv2, dlib)实现照片美颜功能,包括特征提取、美白、增加鲜艳度、磨皮和锐化等步骤。虽然效果可能一般且对某些头型不适用,但可以作为美颜算法的基础实践。" 123266620,12584283,Vue报错修复:Syntax Error: TypeError: this.getOptions is not a function,"['前端', 'Vue.js', 'webpack', 'npm']
摘要由CSDN通过智能技术生成

45d4176ed946d014912f6bf11d5842a0.png

导语

利用Python实现美颜。。。

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

似乎有些日子了。。。

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

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

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

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

Just have a try!

相关文件

文件下载链接:链接:https://pan.baidu.com/s/1mllGjknV-pq__3FlVhVK9g

提取码:0eme 开发工具

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文件即可。 演示1:

2fe3379c5dbec64075d3a1e82f576ba1.png

失败2:

e6db422c86c9af6cd4b62ad02ab316ed.png

失败3:

a2045ac101e48c443e085c93a84843b2.png

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

149c9ed7c768848adf375a9476c4828b.gif

更多

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

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

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

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

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

T_T,就这样吧。希望对你有帮助!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值