基于双边滤波的人脸美化
人像美化类软件中通常会提供一个磨皮功能,可以使得皮肤变得柔和,去除痘痘和斑点。本文基于OpenCV中的双边滤波器实现了一个简单的人脸美化功能。
双边滤波,Bilateral filter,是一种保持边缘的降噪平滑滤波器。注意两点,第一是保持边缘,这样对于人脸而言,可以在平滑皮肤区域的同时不破坏五官的边缘结构。第二,降噪平滑,这样就可以抑制皮肤上的斑点和痘痘,使得皮肤变得柔和。Bilateral filter同时利用了中心像素与周围像素在空间上和颜色强度上的差异,具体可参考这个链接:点击打开链接。
OpenCV中的cvSmooth功能支持双边滤波功能,调用格式为:
cvSmooth(constCvArr* src, CvArr* dst, int smoothtype=CV_BILATERAL, int size1=3, int size2=0,double sigma1=0, double sigma2=0 )。其中要使用双边滤波功能,需指定size1,size3和size4三个参数,分别对应窗口大小size1*size1, color sigma和spatical sigma.
需要特别提醒的是,OpenCV中的Bilateral filater不支持原址运算,也就是说src和dst必须指定为不同的图像,如果指定为同一副图像,会出现运行时崩溃。
下图为一副网络图片,使用OpenCV中的双边滤波器进行处理,注意需要用cvCreateImage创建一副size、depth和channel与源图像相同的图像,参数设置size1=7,size2=0(无效参数),size3=70,size4=10。
基于双边滤波的人脸美化相关推荐
- 双边滤波的人脸磨皮算法(宋茜)
本文将介绍双边滤波的原理以及在人脸磨皮中的应用. 文章目录 双边滤波原理 人脸磨皮算法 双边滤波原理 双边滤波器是保边滤波器中广为人知的一种.保边滤波器指在滤波过程中能够有效的保留图片中的边缘信息的一 ...
- 基于双边滤波(BF)和加权最小二乘滤波(WLS)的RGB-NIR图像融合细节增强
基于双边滤波(BF)和加权最小二乘滤波(WLS)的RGB-NIR图像融合细节增强 简介 实现 结果 下载 原文:RGB-NIR Image Enhancement by Fusing Bilatera ...
- 弱小目标检测跟踪算法研究(4) 基于双边滤波(BF)的红外弱小目标检测之背景抑制Opencv
基于双边滤波(BF)的红外弱小目标检测之背景抑制Opencv 1. 前言 2. 双边滤波算法 3. Opencv实例 4. 小结 1. 前言 红外图像中的弱小目标,目标属性包涵"弱" ...
- 弱小目标检测跟踪算法研究(4) 基于双边滤波(BF)的红外弱小目标检测之背景抑制
基于双边滤波(BF)的红外弱小目标检测之背景抑制 1. 前言 2. 双边滤波算法 3. Matlab仿真 4. 小结 1. 前言 红外图像中的弱小目标,目标属性包涵"弱"和&quo ...
- 双边滤波去雾matlab,基于双边滤波的去雾算法.doc
基于双边滤波的去雾算法 中图法分类号:TP391.41 文献标识码:A 文章编号:1006-8961(2013) - - 论文引用格式: 基于双边滤波的图像去雾 王一帆1 ,尹传历2,黄义明1 , 王 ...
- 基于OpenCV双边滤波器的人脸美化 .
人像美化类软件中通常会提供一个磨皮功能,可以使得皮肤变得柔和,去除痘痘和斑点.本文基于OpenCV中的双向滤波器实现了一个简单的人脸美化功能. 双边滤波,Bilateral filter,是一种保持边 ...
- 技术的真相 | 基于双边滤波的磨皮算法及优化
一.背景简介 现在视频类应用非常火热,直播.美妆.医美应用层出不穷.用户们在使用这类应用时都希望自己在屏幕上的样子美美的,皮肤细腻光滑.本文就介绍一种实现简单.效果很好的磨皮算法以及对它的优化思路. ...
- 双边滤波opencv-python
双边滤波--非线性滤波 文章目录 前言 一.双边滤波是什么? 二.cv.bilateralFilter()函数 1.函数原型 2.函数使用 参考 前言 虽然中值滤波作为典型的低通滤波器,可以在去除噪声 ...
- 【双边滤波】基于小波变换的多尺度自适应THZ增强双边滤波器的MATLAB仿真
1.软件版本 MATLAB2021a 2.本算法理论知识 提出了一种"基于小波变换的多尺度自适应双边滤波器"算法. 其对应的算法流程如下所示: 下面,我们从理论上限介绍一下这里所采 ...
最新文章
- 人工智能、大数据、云计算、机器学习和深度学习,主要有什么关系?
- 【数据展示】matplotlib.pyplot.plot()探究
- android仿苹果SwitchButton效果的实现
- 高清晰电影的文件后缀解析
- java web 的开发环境_JAVA WEB开发环境与搭建
- Python机器学习---何为机器学习?
- 理解SimpleExpandableListAdapter的构造函数
- BZOJ5286 HNOI/AHOI2018转盘(分块/线段树)
- 菜鸟上路-Web开发模式
- Android开发:菜单栏Menu用法讲解
- 联想开机按f2怎么修复系统图解_联想笔记本开机f2修复电脑步骤 - 卡饭网
- jmeter抓取百度热点链接
- 10个有效的Linux VPS/服务器性能检测与稳定性测评工具/命令
- php rsa 跨平台问题,为啥 rsa 这种算法扩展 php/python 不自带。而且跨平台也不是处理的很好...
- 用excel做机器学习
- 操作系统专栏——内存分配与回收
- windows装机必备:文件查找神器Everything + Wox
- Vue绑定<audio>/<video>标记的muted属性无效问题随记
- 【源代码】Python制作的赛车小游戏,逆行飙车
- OSPF 理论一(热爱自己 热爱生活)
热门文章
- 简单几步,让Mac外接显示器更好用
- 技术分享:2.0mm小间距多接枝刚挠结合板制作工艺研究
- 客厅中式装修风格 温馨舒适的生活格调
- 在.NET5 中读取Excel文件,评估下参加神秘献祭会的几位子民
- MSDN 、 RTM 、 OEM 、 VOL 四大版本之区别
- kodi android 卡顿,解决KODI v17/16在电视上不能打开4K播放卡顿的问题
- 小程序源码:开心锤锤超火动态表情包
- 无线路由器常用的五种工作模式详细介绍
- 企业管理员必看:企业邮箱如何注册?企业邮箱账号怎么管理?
- Java如何进行Base64的编码(Encode)与解码(Decode)?