使用Matlab实现美颜功能(双边滤波器)
使用Matlab实现美颜功能(双边滤波器)
先晒美颜效果
借用一张lena小姐的图
可以看出美颜效果还是有的,下面进行过程实现
基本原理
保留边界细节,模糊变化不明显的区域
我们知道高斯滤波器可以起到模糊图像的作用,而上述的过程是选择性地进行模糊,在这里是对图像的灰度变化进行一个判断,达到模糊该模糊的地方,并保留边缘的细节
这里可以推断,我们需要一个高斯滤波器和一个反映灰度判断的矩阵,来处理高斯滤波器各个位置的权重。
获取图片
img0 = imread('lena.jpg');tempsize = 5; %控制高斯滤波器大小的参数sigma1 = 3; %控制高斯滤波器的标准差sigma2 = 0.04; %控制灰度的敏感性,越大的灰度差,权重越小%模板补零,便于卷积操作,不然会使得图片区域出现黑边
img = double(padarray(img0,[tempsize,tempsize],0))/255;%色彩通道提取
imgr = img(:,:,1);
imgg = img(:,:,2);
imgb = img(:,:,3);
设计滤波器
function out = B_filter(Img,tempsize,sigma0,sigma1)%高斯滤波器模板定义
gauss = fspecial('gauss',2*tempsize+1,sigma0);[m,n] = size(Img);for i = 1+ tempsize : m - tempsizefor j = 1+ tempsize : n - tempsize% 提取处理区域得到梯度敏感矩阵% Img(i - tempsize:i + tempsize,j - tempsize:j + tempsize)% 为卷积区域,Img(i,j))为卷积中心点% 得到灰度差值矩阵,并用高斯函数处理为灰度差越大则最终数值越小的权重矩阵temp = abs(Img(i - tempsize:i + tempsize,j - tempsize:j + tempsize) - Img(i,j));temp = exp(-temp.^2/(2*sigma1^2));%将权重矩阵与高斯滤波器相乘,得到双边滤波器,并将权值和化为一filter = gauss.*temp;filter = filter/sum(filter(:));% 卷积求和Img(i,j) = sum(sum((Img(i - tempsize:i + tempsize,j - tempsize:j + tempsize).*filter)));end
endout = Img;
end
使用滤波器依次处理三个色彩通道
最终显示
figure(1)
subplot(121)
imshow(img0)subplot(122)
% 只显示彩色区域,去除黑边
imshow(img(tempsize+1:m-tempsize,tempsize+1:n-tempsize,:))
磨皮美颜用在lena小姐上效果还是不是太明显,换一张图
源码下载:
CSDN下载
网盘链接:
提取码:ie4i
使用Matlab实现美颜功能(双边滤波器)相关推荐
- 双边滤波器—— Matlab实现
例:先用双边滤波器(BF)对原图像进行滤波得到低频部分,原图和低频作差后得到高频分量,高频分量和低频分量分别增强后再进行合成. 双边滤波的特点是保边去噪,相较于高斯滤波,在平滑图像的同时,增加了对图像 ...
- 双边滤波去噪matlab代码,双边滤波器原理及其matlab实现
之前做过图像细节增强方面的工作,处理的是红外灰度14bit图像,图像信号由14bit AD量化后,再经FPGA处理得到,使用非锐化掩模的方法,先用双边滤波器(BF)对原图像进行滤波得到低频部分,原图和 ...
- 【双边滤波】基于小波变换的多尺度自适应THZ增强双边滤波器的MATLAB仿真
1.软件版本 MATLAB2021a 2.本算法理论知识 提出了一种"基于小波变换的多尺度自适应双边滤波器"算法. 其对应的算法流程如下所示: 下面,我们从理论上限介绍一下这里所采 ...
- 基于matlab的人脸美白,人脸识别SDK的使用会对美颜功能造成怎样的影响
有很多开发者在开发APP时考虑到给用户提供更好的美颜体验,都会选择使用人脸识别SDK.说实话现在哪个玩社交的平台不是拥有高质量美颜特效的?但要是想实现高质量的美颜功能可不是件简单事儿.所以本文来给大家 ...
- Matlab实现美颜系统
1 简介 随着市面上各类美颜相机的兴起,人们也都在追求更完美的美颜照片.本文提实现了一种静态图片美颜方法.首先通过人脸识别确定面部特征点,然后引入图像平滑技术,采用双边滤波器滤除图像噪声实现美白提亮功 ...
- 网红直播时的瘦脸、磨皮等美颜功能是如何实现的?
作者 | 阿里文娱算法专家彰三 出品 | AI科技大本营(ID:rgznai100) 背景 随着移动设备的发展,美颜已成为多媒体内容生成链路中不可缺少的一种基本能力,尤其是在来疯直播秀场业务的场景下, ...
- 双边滤波器的原理及实现
双边滤波器是什么? 双边滤波(Bilateral filter)是一种可以保边去噪的滤波器.之所以可以达到此去噪效果,是因为滤波器是由两个函数构成.一个函数是由几何空间距离决定滤波器系数.另一个由像素 ...
- python实现面部特效_Python实现在线批量美颜功能过程解析
结果 然后直接放源码: import cv2 as cv source = cv.imread("zhaopian.jpg") dst = cv.bilateralFilter(s ...
- 基于OpenCV双边滤波器的人脸美化 .
人像美化类软件中通常会提供一个磨皮功能,可以使得皮肤变得柔和,去除痘痘和斑点.本文基于OpenCV中的双向滤波器实现了一个简单的人脸美化功能. 双边滤波,Bilateral filter,是一种保持边 ...
最新文章
- [YTU]_2803( 字符串中小写改大写)
- 那年大一在图书馆作死的大学高数笔记 | 函数和极限
- QT的QTableWidget类的使用
- IIS 权限错误(401.1 401.2 401.3)解决办法
- JAVA实验报告九异常处理_Java课后练习9(异常处理)
- Android笔记 fragment的向下兼容
- JAVA JDK windows环境搭建
- 答题小程序 服务器,开源的基于云开发的在线答题小程序
- MFC 通用对话框之字体对话框
- Dinic算法的原理与构造
- there is the flag
- 基于深度学习的单目视觉深度估计研究综述
- [日常] NOI2019 退役记
- java 基准测试 格式_JMH java基准测试
- 婚礼上可用的 八荣八耻(大全)
- c# 正则表达式 Group
- git恢复修改的文件
- 时间序列数据分析—概述
- 区块链白皮书阅读笔记
- 运放的选取标准和规则
热门文章
- 程序员被违法辞退?这笔钱你拿到了吗?
- PaddlePaddle深度学习之车牌识别
- 头文件和源文件的区别
- 2.23怎么在OrCAD原理图中显示与隐藏元器件的Value值?【OrCAD原理图封装库50问解析】
- 考研英语80分牛人备考心得总结
- 2020和2021年度耕地资源质量分类更新数据库快速汇总成果excel表
- 计算机运行程序搜索,如何寻找运行命令?最优方法运行命令快捷键
- SiteServer CMS 后台操作系统操作说明
- 擒贼先擒王(并查集)
- has no attribute ‘pep425tags‘,No module named ‘*.pep425tags‘解决方法,亲测有效