高斯滤波器是根据高斯函数来选择权值的线性平滑滤波器,对随机分布和服从正态分布的噪声有很好地滤除效果。它可以辅助大部分的边缘检测算法,

对图像的边缘进行扩展(边缘厚度变大),使噪声点的灰度降低,从而减少边缘检测中噪声的数量。

二维的高斯函数公式如下:

其中σ为正态分布的标准偏差,其值决定了高斯函数的变化幅度,对应就是滤波器的权值。高斯函数分布与二维滤波器常见模板如下:

         

模板的生成,就是将矩阵中心作为(0,0)点然后分别代入公式中,求得一个类型为小数的矩阵,将矩阵左上角的元素乘以它的倒数K,使其值为1,

矩阵其他位置的元素也都乘以K,再将矩阵化为整数形式。由此便可以得到一个模板,模板是行列长度为奇数的方阵,取值由σ决定。σ越大,矩阵从里

到外的梯度更大。一般地,按照上面公式所计算的3*3模板的σ=0.85,5*5模板的σ=1.4,7*7模板的σ=1.72。一般根据具体图像情况,选择合适的模板大

小(模糊半径)与标准差(权值),例如目标边缘相距较近时应选用小模板,如果滤波程度不够,σ值可以稍微取大;如果目标呈块状分布,噪点面

积大时可以选用大模板,但整体图像就会变得较模糊。

高斯模板卷积图像:高斯模板的卷积是可分离的(矩阵秩=1),因此大小为n*n去卷积m*m大小的图像时,复杂度可以从n2*m2降至2n*m2。这意味

着在相同实时性要求下,可以使用更大的模糊半径。所谓可分离,指将n*n的矩阵拆分成两个大小为n的行向量与列向量,与图像做两次卷积,而卷积结果

与一次卷积相同。

下面展示了高斯模糊的一个实例:

以下是matlab实现高斯滤波器的代码:

%高斯滤波器模板生成

function template=gaussiantemplate(sigma,size)%sigma=0.85 size=3;%sigma=1.4 size=5;%sigma=1.72 size=7syms x y;

gaussian=(1/(2*pi*sigma^2))*exp((-(x^2+y^2)/(2*sigma^2)));

template=zeros(size,size);%奇数个for i=1:sizefor j=1:size

template(i,j)=double(subs(gaussian,[x,y],[i-(size+1)/2,j-(size+1)/2]));

end

end

k=1/template(1,1);for i=1:sizefor j=1:size

template(i,j)=uint8(template(i,j)*k);

end

end

end

%高斯滤波

function gaussian=gaussianfilter(grayimg,sigma,size)operator=gaussiantemplate(sigma,size);

gaussian= filter2(operator,grayimg);

gaussian= uint8(gaussian./sum(sum(operator)));

end

原文:https://www.cnblogs.com/kensporger/p/11628050.html

matlab高斯滤波去噪,图像平滑去噪之高斯滤波器相关推荐

  1. 高斯滤波详解 python实现高斯滤波

    一. 高斯滤波 高斯滤波是一种线性平滑滤波器,对于服从正态分布的噪声有很好的抑制作用.在实际场景中,我们通常会假定图像包含的噪声为高斯白噪声,所以在许多实际应用的预处理部分,都会采用高斯滤波抑制噪声. ...

  2. 高斯滤波/高斯模糊(Gaussian blur)和高斯噪声(Gaussian noise)

    在看CV方面的论文的时候很多时候都会出现高斯滤波/高斯模糊(Gaussian blur)和高斯噪声.所以需要把他们弄清楚. 1 首先搞清楚什么是高斯分布 1.1 一维高斯分布 在这些操作前都加了高斯两 ...

  3. matlab 均值滤波_数字图像处理基础 — 高斯滤波

    高斯滤波,本文主要讲其如何通过C语言实现.不太擅长写理论性质的文章,这里仅仅阐述自己怎么实现以及简单的优化过程. 通常我们对获取的图像进行进一步处理时,往往需要先进行一次降噪,而通常我们选择的是高斯滤 ...

  4. opencv python 高斯滤波_OpenCV 学习:8 高斯滤波GaussianBlur

    1 什么是高斯滤波? 高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程.[1]通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他 ...

  5. python高斯滤波和降噪_python添加高斯噪声和椒盐噪声,实现中值滤波和均值滤波,实现Roberts算子和Sobel算子...

    写在前面 HIT大三上学期视听觉信号处理课程中视觉部分的实验一,经过和学长们实验的对比发现每一级实验要求都不一样,因此这里标明了是2019年秋季学期的视觉实验一. 由于时间紧张,代码没有进行任何优化, ...

  6. 高斯滤波与双边滤波原理、MATLAB实现及结果对照

    本文详细介绍高斯滤波和双边滤波的原理并给出MATLAB实现,最后对照高斯滤波与双边滤波的效果. 目录 一.滤波原理 1.1 一维高斯分布 1.2 二维高斯分布 1.3 高斯滤波总结 二.双边滤波 1. ...

  7. Opencv_13 图像滤波(低通滤波图像平滑去噪)

    文章目录 一. 图像滤波简介 ① 为什么图像是波? ② 图像的频率 ③ 滤波器 二. 低通滤波之线性滤波 ① 方框滤波 ② 均值滤波 ③ 高斯滤波 三. 低通滤波之非线性滤波中值滤波 ① 中值滤波简介 ...

  8. 《OpenCv视觉之眼》Python图像处理五 :Opencv图像去噪处理之均值滤波、方框滤波、中值滤波和高斯滤波

    本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的.不同方法的处理,以达到对图像进行去噪.锐 ...

  9. 图像处理:高斯滤波算法

    目录 前言 概念介绍 基本原理 卷积核的大小 卷积核的形状和权重比 卷积核的归一化 结论 Opencv实现高斯滤波 Python手写实现高斯滤波 参考文章 前言 在此之前,我曾在此篇中推导过图像处理: ...

  10. 【图像处理】【计算机视觉】线性邻域滤波专场:方框滤波、均值滤波与高斯滤波...

    首先注意点:关于OpenCV中的函数,有老的数据结构,还有新的opencv2的数据结构,一般地区别就是IplImage*与Mat的区别,两者大致分别对应着C和C++内的两个功能一样,但是函数名称有别. ...

最新文章

  1. 操作系统是计算机软件的核心 它直接监管,华工 网络 操作系统课后作业
  2. CSS权重的等级划分
  3. 健康很重要 程序员应该坚持正确的坐姿工作
  4. Vue + Element UI——侧边栏LOGO设计DEMO
  5. catia需要java插件,catia中的带分析
  6. 十八、完成登录与注册页面的前端
  7. Android Studio之NDK开发
  8. uniapp本地数据库_App/uni-app离线本地存储方案
  9. 用HBuilder插入图片、动态图、音乐、视频、上传文件
  10. 简单的sql语句及例子
  11. html 浮动后居中,css如何让浮动元素水平居中
  12. 计算机科学技术手抄报,【科技创新手抄报资料50】_关于科技创新的手抄报内容资料...
  13. person reid demo郑哲东 Deep ReID
  14. 暴雪战网怎么修改服务器,战网更改地区的图文教程
  15. 有哪些外行看上去很高大上,但在内行眼里 low 得不行的东西?
  16. Istio的流量镜像
  17. arcgis制作格网图
  18. 若依管理系统RuoYi-Vue(前后端分离版)项目启动教程
  19. Bibtex4word+texlive在win7配置过程及遇到的问题
  20. 【树莓派4B】如何烧录新的系统

热门文章

  1. java可以编辑 cad吗_MiniCAD 简单的java画图,能画圆、直线、矩形,还能移动,修改颜色等 Develop 238万源代码下载- www.pudn.com...
  2. sql——手机号码归属地、身份证前六位归属地、省市区级联
  3. 共享计算机网络无法连接打印机驱动,win7共享打印机xp无法安装驱动怎么解决
  4. Mirth Connect 互联互通 第五章 查询发送者通道
  5. MCSAMCP认证证书
  6. 使用fiddler对android手机抓包
  7. matlab vav终端控制器编程,基于TRNSYS与VAV控制系统与仿真.pdf
  8. 关于tcp/udp网络调试助手错误提示
  9. 分享一个手写轮播图的学习案例
  10. jmeter进行http压力测试(图文小教程)