原理

matlab实现磨皮美颜效果主要是对图像进行低通滤波,滤除或大部分衰减图像的高频分量,留下其中的低频分量,使得图像可以降噪,平滑。SurfaceBlur算法也是其中一种算法,主要思想还是计算当前像素X的邻域范围内不同像素的加权求和,边缘地方的像素,加权比较大,平滑的地方加权比较小,以此来保留边缘信息,平滑平坦区域;而彩色图像的滤波需要分别对红绿蓝三个色彩通道都进行算法处理,然后使用cat函数进行串联处理。

公式如下:

部分代码如下

完整部分请前往我的资源

A=imread('images.jpg');%A:读取图像
r=2; %r:半径
T=10; %T:阈值
w=zeros(2*r+1,2*r+1);   %模板矩阵的尺寸%图像初始化处理
figure,imshow(A);title("原图");
% img=rgb2gray(A);                                        %源图片转灰度图
%
% img=double(img);                                        %转为矩阵
R=double(A(:,:,1));
G=double(A(:,:,2));
B=double(A(:,:,3));
%解决边界值问题
[m,n]=size(R);
imgn=zeros(m+2*r,n+2*r);                                %创建一个长宽各增加[2r]的扩容矩阵
imgn(r+1:r+m,r+1:r+n)=R;imgn(1:r,r+1:r+n)=R(1:r,1:n);                         %上边界填充
imgn(1:m+r,n+r+1:n+2*r)=imgn(1:m+r,n+1:n+r);            %右边界填充
imgn(m+r+1:m+2*r,r+1:n+2*r)=imgn(m+1:m+r,r+1:n+2*r);    %下边界填充
imgn(1:m+2*r,1:r)=imgn(1:m+2*r,r+1:2*r);                %左边界填充
[m1,n1]=size(G);
imgn1=zeros(m1+2*r,n1+2*r);                                %创建一个长宽各增加[2r]的扩容矩阵
imgn1(r+1:r+m1,r+1:r+n1)=G;for i=r+1:r+mfor j=r+1:r+n   %遍历imgn 中部的源img部分%计算式子的分母w=1-abs(imgn(i-r:i+r,j-r:j+r)-imgn(i,j))/(2.5*T);  %w是一个以img中的元素为核心,size=[2r+1][2r+1]的矩阵,计算m*n次%灰度值溢出检查for p=1:2*r+1 for q=1:2*r+1              if w(p,q) <=0w(p,q)=0;endendend%计算式子的分子s=w.*imgn(i-r:i+r,j-r:j+r); %计算总式imgn(i,j)=sum(sum(s))/sum(sum(w));对二维矩阵求和  end
end
img=imgn(r+1:r+m,r+1:r+n);  %从imgn截取出源img部分
img1=imgn1(r+1:r+m1,r+1:r+n1);
img2=imgn2(r+1:r+m2,r+1:r+n2);
res=cat(3,img,img1,img2);
figure,imshow(uint8(res));title("SurfaceBlur算法后");

matlab实现磨皮美颜效果相关推荐

  1. 模糊处理(下)--高斯模糊,双边模糊以及实现一个简单的磨皮美颜效果(opencv学习记录--4)

    文章目录 1.高斯模糊 1.什么是高斯模糊 2.opencv提供的API 2.双边模糊 1.什么是双边模糊 2.opencv的API 3.磨皮美颜效果的实现 1.实现过程 2.主要代码 3.效果 参考 ...

  2. OpenCV 利用高斯模糊实现简单的磨皮美颜效果

    1.高斯模糊 首先高斯指的是高斯函数,这个我想大家应该都知道,是一种非常常见的概率分布函数.大概就长这样吧. 通过均值模糊类比,我们可以大胆的猜出来高斯模糊的含义: 每一次需要处理的像素矩阵中不同地方 ...

  3. C++ / Opencv 简单实现美颜效果(瘦脸、大眼、磨皮等)

    最近项目需要用到美颜的一些效果,因此开始接触opencv 计算机视觉库,在腾讯课堂上找到一个简单且免费的入门视频<Opencv4 快速入门视频30讲>,看完视频后,初步才对opencv 有 ...

  4. FCPX插件:磨皮润肤美颜效果 Skin Smoother

    Skin Smoother是一种复杂但使用简单的磨皮润肤美颜效果fcpx插件,可以隐藏模型或演员脸部的任何瑕疵或痕迹. 只需将面膜添加到您的模型上并使用屏幕控件调整设置即可快速突出显示您想要隐藏的区域 ...

  5. python opencv 利用HSV,YUV(YCbCr)实现皮肤检测与抠图,与磨皮美颜

    皮肤检测与抠图 皮肤检测的方法很多,这里写的是最简单的方法,感兴趣的同学可以自己加上椭圆检测,膨胀腐蚀等,使得检测与抠图更加精确.github上许多人脸识别的算法,可以多学习那些. HSV颜色空间 h ...

  6. opencvjs 磨皮美颜

    原文链接: opencvjs 磨皮美颜 上一篇: canvas 绘制图像 下一篇: opencvjs 安装 windows ubuntu 效果 1.OpenCV.js官方教程 https://docs ...

  7. 搭建直播平台中的美颜效果开源实现,从AI到美颜全流程讲解

    搭建直播平台中的美颜效果开源实现,从AI到美颜全流程讲解 美颜和短视频 美颜相关APP可以说是现在手机上的必备的软件,例如抖音,快手,拍出的"照骗"和视频不加美颜效果,估计没有人敢 ...

  8. android照片美颜项目_抖音美颜效果开源实现,从AI到美颜全流程讲解

    美颜和短视频 美颜相关APP可以说是现在手机上的必备的软件,例如抖音,快手,拍出的"照骗"和视频不加美颜效果,估计没有人敢传到网上.很多人一直好奇美颜类APP是如何开发出来的.本文 ...

  9. Android短视频中如何实现720P磨皮美颜录制?

    视频中磨皮.美颜功能已成为刚需,那么如何在Android短视频中实现720P磨皮美颜录制?本篇文章中,网易云信资深开发工程师将向大家介绍具体的操作方法. 相关阅读推荐 <短视频技术详解:Andr ...

最新文章

  1. 同学报了计算机专业,大学各专业另类“炫富”,医学专业毫不意外,计算机专业没人羡慕...
  2. STM32核心板电路分析
  3. MySQL5.6 Performance_schema
  4. Extjs tree树的生成
  5. Linux内核设计与实现---虚拟文件系统
  6. 会动的图解 (二) 怎么让goroutine跑一半就退出?
  7. html5声明utf-8,HTML5中的SVG – 什么时候是XML声明`?xml version =“1.0”encoding =“UTF-8”?`需要吗?...
  8. word ctrl v 不能用
  9. cppcheck下载及使用
  10. 生物特征识别:指纹识别技术应用
  11. 电脑缺失ACPI.sys
  12. Ansible常用配置及命令
  13. 无损音乐知识收集3(转)
  14. unity中单位是米还是厘米_cm在单位里是厘米还是毫米
  15. 牛客小白月赛24J--多项式取模
  16. 我国AIS信息服务平台上线 东方通大数据处理亿级报文
  17. 专著《Python与开源GIS:数据处理、空间分析》
  18. 驱动开发 环境搭建(Win7-VS2008+WDK+DDKWzard)
  19. 2022美容师(中级)考试题库及在线模拟考试
  20. mysql“Access denied for user 'root'@'IP地址'

热门文章

  1. 【踩坑记录】实体机器人运行Cartographer 3D Slam(深度摄像头)--未解决
  2. weixin小助手 有什么功能?
  3. 20年ERP維護/規劃/備份/建置/應用經驗分享-10分鐘裝好WFERP用戶端
  4. MDK5安装破解以及安装stm32与C51支持包(附安装包)
  5. 【渝粤教育】国家开放大学2018年秋季 1040t公司概论 参考试题
  6. 三轴磁传感器QMC5883
  7. 旋翼回收火箭系列博客3——控制系统设计(PX4火箭)
  8. MySQL数据更新操作
  9. Linux ubuntu忘记root密码解决方法
  10. 枪火游侠显示无法连接服务器,枪火游侠游戏无响应怎么办_枪火游侠玩不了解决方法...