使用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实现美颜功能(双边滤波器)相关推荐

  1. 双边滤波器—— Matlab实现

    例:先用双边滤波器(BF)对原图像进行滤波得到低频部分,原图和低频作差后得到高频分量,高频分量和低频分量分别增强后再进行合成. 双边滤波的特点是保边去噪,相较于高斯滤波,在平滑图像的同时,增加了对图像 ...

  2. 双边滤波去噪matlab代码,双边滤波器原理及其matlab实现

    之前做过图像细节增强方面的工作,处理的是红外灰度14bit图像,图像信号由14bit AD量化后,再经FPGA处理得到,使用非锐化掩模的方法,先用双边滤波器(BF)对原图像进行滤波得到低频部分,原图和 ...

  3. 【双边滤波】基于小波变换的多尺度自适应THZ增强双边滤波器的MATLAB仿真

    1.软件版本 MATLAB2021a 2.本算法理论知识 提出了一种"基于小波变换的多尺度自适应双边滤波器"算法. 其对应的算法流程如下所示: 下面,我们从理论上限介绍一下这里所采 ...

  4. 基于matlab的人脸美白,人脸识别SDK的使用会对美颜功能造成怎样的影响

    有很多开发者在开发APP时考虑到给用户提供更好的美颜体验,都会选择使用人脸识别SDK.说实话现在哪个玩社交的平台不是拥有高质量美颜特效的?但要是想实现高质量的美颜功能可不是件简单事儿.所以本文来给大家 ...

  5. Matlab实现美颜系统

    1 简介 随着市面上各类美颜相机的兴起,人们也都在追求更完美的美颜照片.本文提实现了一种静态图片美颜方法.首先通过人脸识别确定面部特征点,然后引入图像平滑技术,采用双边滤波器滤除图像噪声实现美白提亮功 ...

  6. 网红直播时的瘦脸、磨皮等美颜功能是如何实现的?

    作者 | 阿里文娱算法专家彰三 出品 | AI科技大本营(ID:rgznai100) 背景 随着移动设备的发展,美颜已成为多媒体内容生成链路中不可缺少的一种基本能力,尤其是在来疯直播秀场业务的场景下, ...

  7. 双边滤波器的原理及实现

    双边滤波器是什么? 双边滤波(Bilateral filter)是一种可以保边去噪的滤波器.之所以可以达到此去噪效果,是因为滤波器是由两个函数构成.一个函数是由几何空间距离决定滤波器系数.另一个由像素 ...

  8. python实现面部特效_Python实现在线批量美颜功能过程解析

    结果 然后直接放源码: import cv2 as cv source = cv.imread("zhaopian.jpg") dst = cv.bilateralFilter(s ...

  9. 基于OpenCV双边滤波器的人脸美化 .

    人像美化类软件中通常会提供一个磨皮功能,可以使得皮肤变得柔和,去除痘痘和斑点.本文基于OpenCV中的双向滤波器实现了一个简单的人脸美化功能. 双边滤波,Bilateral filter,是一种保持边 ...

最新文章

  1. [YTU]_2803( 字符串中小写改大写)
  2. 那年大一在图书馆作死的大学高数笔记 | 函数和极限
  3. QT的QTableWidget类的使用
  4. IIS 权限错误(401.1 401.2 401.3)解决办法
  5. JAVA实验报告九异常处理_Java课后练习9(异常处理)
  6. Android笔记 fragment的向下兼容
  7. JAVA JDK windows环境搭建
  8. 答题小程序 服务器,开源的基于云开发的在线答题小程序
  9. MFC 通用对话框之字体对话框
  10. Dinic算法的原理与构造
  11. there is the flag
  12. 基于深度学习的单目视觉深度估计研究综述
  13. [日常] NOI2019 退役记
  14. java 基准测试 格式_JMH java基准测试
  15. 婚礼上可用的 八荣八耻(大全)
  16. c# 正则表达式 Group
  17. git恢复修改的文件
  18. 时间序列数据分析—概述
  19. 区块链白皮书阅读笔记
  20. 运放的选取标准和规则

热门文章

  1. 程序员被违法辞退?这笔钱你拿到了吗?
  2. PaddlePaddle深度学习之车牌识别
  3. 头文件和源文件的区别
  4. 2.23怎么在OrCAD原理图中显示与隐藏元器件的Value值?【OrCAD原理图封装库50问解析】
  5. 考研英语80分牛人备考心得总结
  6. 2020和2021年度耕地资源质量分类更新数据库快速汇总成果excel表
  7. 计算机运行程序搜索,如何寻找运行命令?最优方法运行命令快捷键
  8. SiteServer CMS 后台操作系统操作说明
  9. 擒贼先擒王(并查集)
  10. has no attribute ‘pep425tags‘,No module named ‘*.pep425tags‘解决方法,亲测有效