纯净、安全、绿色的下载网站

首页|软件分类|下载排行|最新软件|IT学院

当前位置:首页IT学院IT技术

OpenCV 人脸磨皮 OpenCV-Python实现人脸磨皮算法

一天一篇Python库   2021-06-07 我要评论
想了解OpenCV-Python实现人脸磨皮算法的相关内容吗一天一篇Python库在本文为您仔细讲解OpenCV 人脸磨皮的相关知识和一些Code实例欢迎阅读和指正我们先划重点:OpenCV,人脸磨皮下面大家一起来学习吧

人脸磨皮是最基础的人脸美颜效果主要分为祛斑祛痘淡化黑眼圈等步骤通过前面的学习相信大家一眼都看得出来我们需要干什么才能识别人脸磨皮效果

因为磨皮之后脸部的杂质基本上就没有了也可以说丢失了细节那么肯定需要用到滤波函数滤波的过程就是把图像的每一个像素值输入过滤器得到平滑的图像

而我们常用的滤波有均值滤波高斯滤波以及双边滤波三种到底选用那种滤波呢?

首先均值滤波会因为是用周围像素的平均值代替原像素值肯定会导致图像过于模糊所以排除掉其次高斯滤波与均值滤波原理类似只是高斯滤波器的模板系数会随着距离模板中心的增大而减小虽然可以减弱图像的模糊程度但是图像边缘信息会丢失

那么只剩一个滤波了也就是双边滤波器因为它同时综合了高通滤波器和a-截尾均值过滤器的叠加效果即可以保证图像不是非常模糊也可以保留图像边缘信息

而人脸磨皮原理的步骤分为如下3个步骤:

  • 图像滤波
  • 图像融合
  • 图像锐化

因为不管上面3种滤波如何都会导致一定的模糊(只是相对来说谁更优而已)所以需要对图像进行融合与锐化的操作这样可以保留一些图像的细节以增强图像的真实感

其中图像融合使用的函数就是cv2.addWeighted()图像加权函数融合的是原图与双通滤波后的图像

最后图像锐化使用的PIL库进行操作使用它的ImageEnhance.Sharpness()函数自动调节图像的锐度与对比度

实现人脸磨皮效果

既然我们已经完全掌握了人脸磨皮的原理下面我们来直接实现人脸的磨皮效果具体的代码如下所示:

# 人脸磨皮
def facial_dermabrasion_effect(fileName):
    img = cv2.imread(fileName)
    blur_img = cv2.bilateralFilter(img, 31, 75, 75)
    #图像融合
    result_img = cv2.addWeighted(img, 0.3, blur_img, 0.7, 0)
    cv2.imwrite("58_1.jpg", result_img)

    image = Image.open("58_1.jpg")
    # 锐度调节
    enh_img = ImageEnhance.Sharpness(image)
    image_sharped = enh_img.enhance(1.5)
    # 对比度调节
    con_img = ImageEnhance.Contrast(image_sharped)
    image_con = con_img.enhance(1.15)
    image_con.save("58_2.jpg")

    img1 = cv2.imread("58.jpg")
    img2 = cv2.imread("58_2.jpg")
    cv2.imshow("1", img1)
    cv2.imshow("2", img2)
    cv2.waitKey()
    cv2.destroyAllWindows()


if __name__ == "__main__":
    facial_dermabrasion_effect("58.jpg")

运行之后效果如下:

磨皮效果

这段代码的参数都是可以调整的并不是一层不变的感兴趣的读者可以自己调节参数试试效果当然人脸磨皮只是看起来皮肤光滑了下面结合美白的效果就可以实现相机的那种美颜


相关文章

猜您喜欢

  • java同步容器与并发容器 Java并发编程之同步容器与并发容器详解

    想了解Java并发编程之同步容器与并发容器详解的相关内容吗小志的博客在本文为您仔细讲解java同步容器与并发容器的相关知识和一些Code实例欢迎阅读和指正我们先划重点:java同步容器,java并发容器,java容器下面大家一起来学习吧..
  • OpenCV-Python 图像去雾 OpenCV-Python直方图均衡化实现图像去雾

    想了解OpenCV-Python直方图均衡化实现图像去雾的相关内容吗一天一篇Python库在本文为您仔细讲解OpenCV-Python 图像去雾的相关知识和一些Code实例欢迎阅读和指正我们先划重点:OpenCV,图像去雾,OpenCV,直方图均衡化下面大家一起来学习吧..

网友评论

Copyright 2020 www.fresh-weather.com 【世纪下载站】 版权所有 软件发布

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 点此查看联系方式