数字图像处理2021.9.27—空域方法-滤波处理Filter subimage
什么是Filter subimage?
就是在处理每一个像素的时候 还要考虑它周围的像素,根据周围像素和一个算法生成当前像素的值
一般是一个滑动窗口,窗口包括的像素个数一般是奇数个,比如3*3,5*5,窗口中间是要处理的像素
滤波处理的作用——平滑处理
线性滤波——卷积
就是这种相乘求和的方式
关于卷积后图像会缩小:事先补0
平滑滤波器用于模糊和降噪
基于线性滤波Averaging filtering(平均滤波)
左图是一般平均,每个像素的值加起来除以所有像素的个数,取得的数值赋值给中间像素
右边是加权求和平均,根据距离中间像素的远近设置权值,相加后除以总权值,赋值给中间像素
举个例子,用上图左边的框框来算
发现变小了这个图,而且遍历的时候只能从(2,2)开始,所以一般原图处理之前先加一圈0
优点:去噪——那个90的噪声没了
缺点:边缘模糊——灰度变得多了起来——高斯模糊
应用
这是一个天文望远镜拍摄的图片,希望保留较大的天体去掉较小的天体
先平均滤波去噪,得到中间的图,会发现小的行星都糊了
然后图像二值化,就可以得到保留下来的较大天体
非线性滤波
比如Order-Statistics Filters次序统计滤波器,中值滤波是最常用的次序统计滤波器
中值滤波——去除椒盐噪声很有效,对边缘细节保护较好
做法:像素排序,从小到大,取中间值填补当前像素
例子:
1, 当前3*3选框排序
2, 取205填充
为什么能有效去除椒盐噪声?(也就是冲击噪声
一般冲击噪声都是比较极端的值,非黑即白,所以一般不会被选中作为中值,由此就可以去掉了
滤波处理的作用——锐化处理Sharpening Filter
突出细节-增强被模糊的细节、强调边缘和噪点(值差别较大的位置),reemphasize灰度值平滑的区域
做法
差分法:差分强调的是相邻像素的差别,绝对值越小说明差别越小,绝对值越大说明差别越大
假如这是图片上某一溜儿的灰度值,灰度级为0~7
一阶差分:右值减左值——一般用于边缘检测;因为在边缘处,差的绝对值是比较大的,检测值大的位置就是边缘,这样就可以把边缘提取出来。一阶导数通常对灰度阶跃(边缘)有更强的响应。
——在灰度阶跃或斜坡开始时一定是非零的-沿着斜坡一定是非零的
First-order derivatives generally have a stronger response to a gray-level step (edge)
虽说是差分还是记为导数的形式
二阶差分:在一阶的基础上再次右值减左值——一般用于图像锐化;因为经过两次差分之后,仍然留下的比较大的数值是特征点部分。二阶导数对细节有更强的响应
——在灰度级台阶或斜坡的开始和结束时必须为非零-在坡度恒定的斜坡上必须为零,所以在二阶差分的时候非零的只有一类,就是在变化开始和结束的时候,也就是特征点处
Second-order derivatives have a stronger response to fine detail
二阶导数与一阶对比
-对直线的响应强于对步进的响应,对点的响应强于对直线的响应
-比一阶导数更适合图像增强
-实现和扩展更简单
拉普拉斯滤波器——二阶差分的利用
拉普拉斯算子(laplacian)
所以这样的话,滤波器应该长成下图这样(也叫拉普拉斯算子),周围一圈的值减去四倍中间的值。
但是要注意这里算出的结果只是差分结果(特征值也叫Mask),并不是中间像素要被赋值的结果,赋值的结果应该是原本中间像素的值再加上(减去)Mask。至于是加还是减我们来分析一下。
假如中间是一个灰度较大的值,周围灰度都很小,那么这个点就是一个特征点,需要被保存,现在经过拉普拉斯计算的值就是一个负的很大的值。因为我们是要增强特征点,所以原来的灰度大我们要让他更大,所以应该是原本灰度减差分结果。
反之,差分值会是个正的很大的值,原来灰度很小,为了增强它,我们要让他更小,因此得出的结论仍然是原本灰度减差分结果。
所以下图形式的拉普拉斯算子,应该是原灰度加上差分值。理由同上,因此我们可以得出结论中间为负数的拉普拉斯算子应该是减去,中间为正的拉普拉斯算子应该是加上,如右图公式
那么上面两种拉普拉斯算子的形式可以很好的保留横着和竖着的特征,但是斜着的效果不好,所以还有以下两种形式
要注意:经过上面的拉普拉斯矩阵处理之后我们得到的仅仅是图片特征,并不是图片,所以如果想得到完整的矩阵可以直接加上(减去)中间的像素,如下的两个
Unsharp masking——锐化
以前印刷业经常用到的锐化方法,先将一张图平滑,也就是模糊掉,然后用原图减去模糊的图得到特征图Mask,然后原图加特征图得到锐化图
当然也可以原图减去特征——淡化非锐化掩膜的作用
平滑是低通滤波,平坦的过,尖锐的被刷掉
锐化是高通滤波,尖锐的过,平坦的被刷掉
一阶差分的利用——索贝尔sobel算子图像边缘提取
原理:
边缘是指在图像上像素灰度变化最显著的地方,边缘检测算子则利用图像边缘灰度的突变来检测边缘。Sobel算子包含两组3X3的滤波器,分别对水平和垂直方向上的边缘敏感。
让两个方向模板分别沿着X轴、Y轴与图像做卷积,方向是从上到下和从左到右。将模板的中心和图像上的某个像素重合,并将该像素周围的点与模板上的系数相乘,如(3)和(4)所示,其中G(x)和G(y)分别表示横向及纵向边缘检测的图像梯度值。
G(X) = (X3 + 2X6 + X9)-(X1 + 2X4 + X7)
G(Y) = (X1 +2X2 +X3) - (X7 + 2X8 + X9)
图像上每个像素点的横向及纵向梯度值通过如下公式结合,来计算该点梯度值G的大小:
G = √Gx2+Gy2
为了减少运算时间,提高运算效率,可以使用绝对值求和近似的方法代替开平方:
G = ¦Gx¦ + ¦Gy ¦
最后选取合适的阈值,将像素点的灰度值与阈值进行比较,若大于阈值,则改点为图像的边缘点。
数字图像处理2021.9.27—空域方法-滤波处理Filter subimage相关推荐
- 数字图像处理——第四章 频率域滤波
数字图像处理--第4章 频率域滤波 文章目录 数字图像处理--第4章 频率域滤波 频率域 1.傅里叶级数原理 1.1.一维傅里叶变换 1.2.二维傅里叶变换 2.python×傅里叶级数 2.1.傅里 ...
- 系统学习数字图像处理之灰度变换和空域滤波
一些基本的灰度变换 1.图像反转,即s=L-1-r 增强嵌入在图像中的暗区域中的或灰色细节,特别是当黑色在面积尺寸上占主导地位时. 2.对数变换,s=clog(1+r)完成动态范围的压缩和扩展,压缩像 ...
- C语言数字图像处理---2.3图像空域滤波
本文主要给大家讲解图像空间域滤波的相关内容,包括空域滤波概念,以及常用的空域滤波算法,并通过C语言编程来实现几种常用空域滤波(均值滤波.中值滤波.最大值滤波.最小值滤波.高斯滤波和统计滤波),帮助初学 ...
- 使用 matlab 数字图像处理(六)—— 空域滤波
相关和卷积 所谓邻域处理或者空间域滤波,即是对图像中的每一点 (x,y)(x,y),重复以下的操作: (1)对预先定义的以 (x,y)(x,y) 为中心的邻域内的像素进行处理, (2)将(1)中运算的 ...
- 数字图像处理第四章频率域滤波(低通滤波器、高通滤波器、拉普拉斯滤波、同态滤波器)
本章节的主要内容具体包括:傅里叶变换的概念及处理的相关知识.频率域卷积概念.三种低通滤波器的原理及代码实现.三种高通滤波器的原理及代码实现.频率域拉普拉斯算法原理及实现.同态滤波器原理及代码实现. 4 ...
- 数字图像处理 空间域高斯低通滤波 MATLAB实验
一.原理_空间域高斯低通滤波 高斯低通滤波是一种使用的去噪滤波,可用于去除高斯噪声,且几乎没有振铃现象. 二.步骤 (1)读入原图像lena.bmp并显示: (2)对原图像分别添加高斯噪声,并显示加噪 ...
- 数字图像处理课程实习——傅里叶变换与频域滤波
本次实验的目标主要是为了为了学会使用傅里叶变换将图像由空间域变到频率域,并设计和使用理想低通滤波器.理想高通滤波器和巴特沃斯低通滤波器来对图像在频域范围进行处理,而后进行逆傅里叶变换,最终得到空间域里 ...
- 数字图像处理(修正的阿尔法均值滤波)
修正的阿尔法均值滤波 统计排序滤波器的响应基于由该滤波器包围的图像区域中的像素值的排序,为一种非线性滤波器.常用的非线性滤波器有中值滤波器..自适应中值滤波.最大值(最小值)滤波器.中点滤波器与修正的 ...
- 数字图像处理二:图像空域运算
(1)选择两幅图像,一幅是物体图像,一幅是背景图像,采用正确的图像代数运算方法,分别实现图像叠加.混合图像的分离和图像的局部显示效果. 原理: 叠加:将两幅图像进行加法运算. 分离:将混合图像与背景图 ...
最新文章
- python3: print()函数:def,end关键字介绍
- Web服务器和应用程序服务器有什么区别
- Hough变换的方法检测直线段,效果良好
- RT600之Mailbox
- apt-get update时卡在 waiting for headers(转)
- UNP Chapter 27 - 客户-服务器程序其他设计方法
- AngularJS scope 学习
- Hadoop YARN配置参数剖析(5)—Capacity Scheduler相关参数
- 开源电脑屏幕录制软件Captura源码下载及编译(Win10,VS2022)
- 雷神开机logo更改_笔记本电脑开机LOGO太丑?大神教你来更换
- 设计模式--模板方法(Template Method)
- MATLAB绘图/数据的可视化
- 灭火机器人C语言程序,- 一款基于STM32的智能灭火机器人设计
- 自下而上构建知识图谱全过程
- 基于jQuery发展历程时间轴特效代码
- Android仿制知乎滑动广告条
- 人类与计算机之间的围棋,棋圣怒吼:别忽悠我 电脑不可能战胜人类
- 微信小程序播放视频 禁止快进
- BS4爬取电影天堂的下载地址并保存至csv文件(一)
- day06-08面向对象的三大特性