广告
返回顶部
首页 > 资讯 > 后端开发 > Python >OpenCV-Python如何实现人脸磨皮算法
  • 437
分享到

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

2023-06-15 09:06:50 437人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章将为大家详细讲解有关OpenCV-python如何实现人脸磨皮算法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。人脸磨皮是最基础的人脸美颜效果。主要分为祛斑,祛痘,淡化黑眼圈等步骤。通过前面的学习

这篇文章将为大家详细讲解有关OpenCV-python如何实现人脸磨皮算法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

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

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

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

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

那么,只剩一个滤波了,也就是双边滤波器。因为它同时综合了高通滤波器和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")

运行之后,效果如下:

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

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

关于“OpenCV-Python如何实现人脸磨皮算法”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: OpenCV-Python如何实现人脸磨皮算法

本文链接: https://www.lsjlt.com/news/279450.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • OpenCV-Python实现人脸磨皮算法
    人脸磨皮是最基础的人脸美颜效果。主要分为祛斑,祛痘,淡化黑眼圈等步骤。通过前面的学习相信大家一眼都看得出来我们需要干什么才能识别人脸磨皮效果。 因为磨皮之后,脸部的杂质基本上就没有了...
    99+
    2022-11-12
  • OpenCV-Python如何实现人脸磨皮算法
    这篇文章将为大家详细讲解有关OpenCV-Python如何实现人脸磨皮算法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。人脸磨皮是最基础的人脸美颜效果。主要分为祛斑,祛痘,淡化黑眼圈等步骤。通过前面的学习...
    99+
    2023-06-15
  • OpenCV-Python如何实现人脸美白算法
    这篇文章主要介绍了OpenCV-Python如何实现人脸美白算法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。人脸美白原理人脸美白原理说透了,就是一种图像的颜色空间处理,所以...
    99+
    2023-06-15
  • OpenCV-Python实现人脸美白算法的实例
    人脸美白原理 人脸美白原理说透了,就是一种图像的颜色空间处理,所以我们需要通过颜色空间进行设计。 不过,我们先来参考以下PS对于图像美白的处理步骤: 首先,新建一个图层,将...
    99+
    2022-11-12
  • OpenCV如何利用高斯模糊实现磨皮美颜效果
    这篇文章主要介绍了OpenCV如何利用高斯模糊实现磨皮美颜效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.高斯模糊1.什么是高斯模糊前面我们就知道了均值模糊和中值模糊,...
    99+
    2023-06-22
  • java+opencv如何实现人脸识别功能
    这篇文章主要介绍了java+opencv如何实现人脸识别功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Java的特点有哪些Java的特点有哪些1.Java语言作为静态面向...
    99+
    2023-06-15
  • springboot集成opencv如何实现人脸识别功能
    这篇文章主要介绍springboot集成opencv如何实现人脸识别功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!前言项目中检测人脸图片是否合法的功能,之前用的是百度的人脸识别接口,由于成本高昂不得不寻求替代方案...
    99+
    2023-06-15
  • python计算机视觉OpenCV库实现实时摄像头人脸检测示例
    目录设备准备:实现过程调用模型库文件打开摄像头人脸检测设置退出机制程序运行全部代码OpenCV 是一个C++库,目前流行的计算机视觉编程库,用于实时处理计算机视觉方面的问题...
    99+
    2022-11-12
  • Python如何实现人脸识别系统
    小编给大家分享一下Python如何实现人脸识别系统,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!基本原理人脸识别和目标检测这些还不太一样,比如大家传统的训练一个目...
    99+
    2023-06-26
  • opencv+mediapipe如何实现人脸检测及摄像头实时示例
    这篇文章主要为大家展示了“opencv+mediapipe如何实现人脸检测及摄像头实时示例”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“opencv+mediapipe如何实现人脸检测及摄像头实...
    99+
    2023-06-22
  • Python+OpenCV内置方法如何实现行人检测
    小编给大家分享一下Python+OpenCV内置方法如何实现行人检测,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!您是否知道 OpenCV 具有执行行人检测的内置...
    99+
    2023-06-22
  • Python OpenCV Canny边缘检测算法如何实现
    本文小编为大家详细介绍“Python OpenCV Canny边缘检测算法如何实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python OpenCV Canny边缘检测算法如何实现”文章能帮助...
    99+
    2023-07-02
  • Python OpenCV Hough直线检测算法如何实现
    这篇文章主要介绍了Python OpenCV Hough直线检测算法如何实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python OpenCV Hough直线检测算...
    99+
    2023-07-02
  • Python中如何实现简单人脸识别的示例
    这篇文章给大家分享的是有关Python中如何实现简单人脸识别的示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、库介绍opencv,face_recognition,numpy,以及dlib注意:安装open...
    99+
    2023-06-14
  • pytorch液态算法如何实现瘦脸效果
    这篇文章主要介绍了pytorch液态算法如何实现瘦脸效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。算法思路:假设当前点为(x,y),手动指定变形区域的中心点为C(cx,c...
    99+
    2023-06-21
  • OpenCV如何实现无缝克隆算法
    这篇“OpenCV如何实现无缝克隆算法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“OpenCV如何实现无缝克隆算法”文章吧...
    99+
    2023-07-02
  • OpenCV如何实现图像去噪算法
    今天小编给大家分享一下OpenCV如何实现图像去噪算法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、函数参考1、Prim...
    99+
    2023-07-02
  • 如何使用Python实现简单的人脸识别功能
    小编给大家分享一下如何使用Python实现简单的人脸识别功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、首先梳理一下实现人脸识别需要进行的步骤:流程大致如此...
    99+
    2023-06-14
  • 教你如何用Python实现人脸识别(含源代码)
    工具与图书馆 Python-3.x CV2-4.5.2 矮胖-1.20.3 人脸识别-1.3.0 若要安装上述软件包,请使用以下命令。 pip...
    99+
    2022-11-12
  • 如何使用Python OpenCV实现人物动漫化效果
    这篇文章主要介绍如何使用Python OpenCV实现人物动漫化效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!效果展示第一组古风美女原图效果图啊......西湖的水 我的泪......这张图动漫化的超级...
    99+
    2023-06-26
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作