当前位置: 首页 > news >正文

图像处理-高斯滤波器与图像的关系

1.概念:

高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。高斯滤波的具体操作是:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。

2.实质:一种信号的滤波器

高斯滤波(Gauss filter)实质上是一种信号的滤波器,其用途为信号的平滑处理,数字图像用于后期应用,其噪声是最大的问题,因为误差会累计传递等原因,大多图像处理教材会在很早的时候介绍Gauss滤波器,用于得到信噪比SNR较高的图像(反应真实信号)。高斯平滑滤波器对于抑制服从正态分布的噪声非常有效。

3.高斯分布公式

一维高斯分布:

二维高斯分布:

4.图像里的高斯-尺度空间理论

公式化:

假设二维图像为f(x,y),二维高斯函数(关于t的簇)为g(x,y;t),那么线性尺度空间就可以通过二者卷积(Convolution)得到:L(⋅,⋅;t)=g(⋅,⋅;t)∗f(⋅,⋅),高斯滤波器的方差 t=\sigma ^{2}被称为尺度参数

\sigma ^{2},如果\sigma ^{2}较小,那么生成的模板的中心系数较大,而周围的系数较小,这样对图像的平滑效果就不是很明显;反之,\sigma ^{2}较大,则生成的模板的各个系数相差就不是很大,比较类似均值模板,对图像的平滑效果比较明显。

图示计算方式:

  • 均值滤波:所有像素相加/9 =中间
  • 高斯滤波:每个像素对应一个系数,即分配权重,对应相乘,也就是所谓的点乘dot。
  • 高斯滤波重点在于每个点的权重是不一样的。

可视化展示:

高斯滤波器的方差 t=\sigma ^{2}被称为尺度参数

直观地看,图像中尺度小于√t的结构会被平滑地无法分辨。因此,t越大,平滑越剧烈
实际上,我们只会考虑t≥0的一些离散取值。当t=0时,高斯滤波器退化为脉冲函数(impulse function),因此卷积的结果是图像本身,不作任何平滑。

事实上,还可以构造其他尺度空间。
但由于线性(高斯)尺度空间满足很多很好的性质,因此是使用最为广泛的。

尺度空间方法最重要的属性是尺度不变性(scale invariant),使可以处理未知大小的图像目标。

最后要注意的是,在构造尺度空间时,往往还伴随着降采样
比如t=2的尺度空间,会将其分辨率减半,即面积减为1/4。

其他案例学习:混合高斯模型

相关文章:

  • Java实现银行卡号校验
  • 15张超详细的Python学习路线图,纯良心分享,零基础学习宝典
  • 虚拟机安装Arch Linux
  • 云计算推动重塑与转型,游戏行业进入以技术驱动“新纪元”
  • 22年8月工作笔记整理(前端)
  • 11---OpenCV:图像进阶操作之①轮廓②凸包操作
  • C语言运算符与表达式
  • Python从入门到实践:字节串与字符串
  • k8s教程:使用cert-manager证书管理工具在集群中提供https证书并自动续期
  • MIKE水动力笔记13_数字化海图2之克里金插值
  • QuantLib 金融计算库
  • OpenSergo CloudWeGo 共同保障微服务运行时流量稳定性
  • 全网最牛自动化测试框架系列之pytest(8)-参数化
  • App Store上架iOS App的详细流程
  • 链动2+1模式系统,如何抓住酒业新局的机遇?
  • 【刷算法】求1+2+3+...+n
  • 10个确保微服务与容器安全的最佳实践
  • 2017届校招提前批面试回顾
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • C++类中的特殊成员函数
  • Effective Java 笔记(一)
  • fetch 从初识到应用
  • idea + plantuml 画流程图
  • Java精华积累:初学者都应该搞懂的问题
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • nodejs:开发并发布一个nodejs包
  • passportjs 源码分析
  • redis学习笔记(三):列表、集合、有序集合
  • 关于springcloud Gateway中的限流
  • 机器学习学习笔记一
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 手写一个CommonJS打包工具(一)
  • 我从编程教室毕业
  • 一个SAP顾问在美国的这些年
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • 最简单的无缝轮播
  • 从如何停掉 Promise 链说起
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • $.proxy和$.extend
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (Python) SOAP Web Service (HTTP POST)
  • (附源码)ssm高校运动会管理系统 毕业设计 020419
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • ***监测系统的构建(chkrootkit )
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • .NET CLR Hosting 简介
  • .net core使用ef 6
  • .net 设置默认首页
  • [ IOS ] iOS-控制器View的创建和生命周期
  • [2018/11/18] Java数据结构(2) 简单排序 冒泡排序 选择排序 插入排序
  • [AIGC] Redis基础命令集详细介绍