1. 数字信号测量中的平滑算法怎么算
其实最简单的平滑算法就是对之前的数据求一个平均值,即
y(t) = (y(t-n)+y(t-n+1)+...+y(t))/(n+1)
其实,这么做的理由很简单,这相当于是一个n+1阶的FIR滤波器,然后每个系数都是1/(n+1)。
说白了,就是一个低通滤波器,因此可以起到抑制毛刺等高频信号的结果。
其实,我个人认为,如果你好好设计一个FIR滤波器,然后按照那个系数来进行调整,比这种方法去掉毛刺的效果好得多,你可以利用matlab的工具fdatool,有不懂可以继续追问。
2. 均值滤波
一. 均值滤波简介和原理
晌扒 均值滤波,是图像处理中常用的手段,从频率域观点来看均值滤波是一种低通滤波器,高频信号将会去掉。均值滤波可以帮助消除图像尖锐噪声,实现图像平滑,模糊等功能。理想的均值滤波是用每个像素和它周围像素计算出来岁蠢的平均值替换图像中每个像素。
以3*3均值滤波器为例,均值滤波器算法宴雀昌原理如下图:
二. 用均值滤波器对椒盐噪声污染后的图像去噪
python 源码:
import cv2
import numpy as np
# mean filter
def mean_filter(img, K_size=3):
H, W, C = img.shape
# zero padding
pad = K_size // 2
out = np.zeros((H + pad * 2, W + pad * 2, C), dtype=np.float)
out[pad: pad + H, pad: pad + W] = img.().astype(np.float)
tmp = out.()
# filtering
for y in range(H):
for x in range(W):
for c in range(C):
out[pad + y, pad + x, c] = np.mean(tmp[y: y + K_size, x: x + K_size, c])
out = out[pad: pad + H, pad: pad + W].astype(np.uint8)
return out
# Read image
img = cv2.imread("../paojie_sp1.jpg")
# Mean Filter
out = mean_filter(img, K_size=5)
# Save result
cv2.imwrite("out.jpg", out)
cv2.imshow("result", out)
cv2.waitKey(0)
cv2.destroyAllWindows()
三. 实验结果:
可以看到,均值滤波后,图像中噪声虽然有所减弱,但是图像变模糊了。因为均值滤波器过滤掉了图像中的高频分量,所以图像的边缘都变模糊了。(去除一定量椒盐噪声,可以考虑使用中值滤波)
四. 参考内容:
https://www.cnblogs.com/wojianxin/p/12501891.html
3. 滤波增强
滤波是指对频率特征的一种筛选技术。影像滤波处理是对影像中某些空间频率特征信息增强或抑制。例如增强高频抑制低频信息即是突出边缘、线条、纹理、细节; 增强低频抑制高频信息是去掉细节,保留影像中的主干、粗结构。影像的滤波增强实质就是增强影像的某些空间频率特征,来改善目标与其邻域间像元的对比度关系。
地学工作者往往对遥感影像中的地物边界、纹理、地面形迹等信息感兴趣,因此需要增强遥感影像中的这些信息。影像中的这些信息在空间位置上具有一定的延伸方向、延伸距离、宽度以及反差等特点,这些特点可以用一定的物理模式来描述,例如具有长距离( 数十千米) 、宽线条的形迹呈低频率特征; 对于细小的边界、纹理、断裂等长度在数百米内的窄线条的形迹呈高频特征; 介于两者之间的呈中频特征。因此,根据地学判读的需要,可以分别增强高频、中频和低频特征 ( 图 4-11) 。实现低频增强的称为低通滤波 ( 图4-12,图 4-13) ; 实现高频增强的称为高通滤波 ( 图 4-14) ; 增强中间频段的称为带通滤波; 此外还可增强影像的某些方向的形迹特征,称为定向滤波 ( 图 4-15) 。例如,山脉之间的距离以数十千米计算,其形迹具有较低的空间频率,应采用低通滤波,即将具有高频率和中等频率形迹的曲线滤去,只通过低频率的形迹曲线构成图像,突出表示山脉的形迹; 一般背斜、向斜有着中等的空间频率,波长以千米计算,采用中通滤波; 而节理、裂隙以及小型地质构造具有较高的频率,波长以几十米、几百米计算,采用高通滤波。
图 4-11 ENVI 软件滤波增强处理对话框及运算菜单
图 4-12 某地 TM1 原始影像
图 4-13 ENVI 软件低通滤波处理的影像
图 4-14 ENVI 软件高通滤波处理的影像
图 4-15 315°方向滤波处理的影像
滤波增强技术有空间域滤波和频率域滤波两种。空间域滤波是在影像的空间变量内进行局部运算,使用空间二维卷积方法。频率域滤波使用傅氏分析等方法,通过修改原影像的傅氏变换式实现滤波。这里讨论的滤波增强主要解决图像的平滑和锐化处理问题。地物的边界及各种线性形迹,通常都表现为一定的空间分布频率,因此可以通过空间域或频率域的滤波对它们进行增强。
( 一) 图像平滑处理
图像中出现某些亮度变化过大的区域,或出现不该有的亮点 ( “噪声”) 时,采用平滑方法可以减小变化,使亮度平缓或去掉不必要 “噪声”点。它实际上是使图像中高频成分消退,即平滑图像的细节,降低其反差,保存低频成分,在频域中称为低通滤波。图像平滑处理可通过邻域平均法实现,即利用图像点 ( x,y) 及其邻域若干个像素的灰度平均值来代替点 ( x,y) 的灰度值,结果是对亮度突变的点产生了 “平滑”效果。空间域中的图像平滑处理多采用模板窗口对原始图像进行卷积运算,根据卷积运算的方式可分为滑动平均法、中值滤波等方法。
1. 滑动平均法
平滑滤波的输出图像中像元 ( x,y) 的 DN 值等于原始图像中以目标像元 ( x,y) 为中心的模板窗口内像元的平均 DN 值。图像平滑的效果取决于模板窗口的大小。平滑可抑制噪声,但也会造成边缘信息损失而使图像模糊。
2. 中值滤波
平滑滤波的输出图像中像元 ( x,y) 的 DN 值等于原始图像中以目标像元 ( x,y) 为中心的模板窗口内所有像元的中间 DN 值。中值滤波是一种非线性变换。其优势在于可在平滑的基础上较大程度地防止边缘模糊。
图像平滑的主要目的是消除图像中的随机噪声、孤立噪声等影响数据处理与分析的无用数据,以取得便于后续处理与专题信息提取的可靠数据。当然,噪声的判断与消除亦依赖于数据处理人员的地学知识与解译经验,同时亦取决于数据与认知模式,不能简单地一概而论。
( 二) 图像锐化处理
图像锐化指增强图像中的高频信息,以削弱背景、突出光密度突变的高频成分 ( 线条或边缘) ,起到增强边缘和细微构造的作用,有助于隐伏构造的显示。空间域中的图像锐化处理多利用原始图像中目标像元与邻近区域像元 DN 值之间的变化率来衡量,根据运算的方式可分为微分法、空间域定向滤波等方法。
1. 微分法
对于离散的数字图像而言,其 DN 值在相邻像元间的变化率包括 8 个方向 ( 水平、垂直、对角线方向) ,微分法即采用各方向上相邻像元之间的 DN 值差值来作为方向导数的近似,可分为一次微分法和二次微分法。
一次微分法反映了相邻像元的亮度变化率,即图像中如果存在边缘,如湖泊、河流的边界,山脉和道路等,则边缘处有较大的梯度值。对于亮度值较平滑的部分,亮度梯度值较小。因此,找到梯度较大的位置,也就找到边缘,然后再用不同的梯度计算值代替边缘处像元的值,也就突出了边缘,实现了图像的锐化。通常有罗伯特梯度和索伯尔梯度方法。
拉普拉斯算法为二次微分法,与一次微分法的区别在于它不检测均匀的图像亮度变化,而是检测变化率的变化率,相当于二阶微分,计算出的图像更加突出亮度值突变的位置。实际中,亦可由原图像减去拉普拉斯模板运算结果 ( 或其某个倍数) 而得到新的图像,从而使原图像作为背景保留下来,同时可加大边缘特征的对比度。
2. 空间域定向滤波
空间域定向滤波又称为图像的卷积运算,亦即通过一定尺寸的方向模板对图像进行卷积运算,并以卷积值代替各像元点的灰度值 ( DN 值) 。
方向模板 ( 卷积核) 是一个各元素大小按照一定的规律取值,并因而对于某一方向灰度变化最敏感的数字矩阵。方向模板增强的是元素代数和取值最大的方向 ( 最大响应方向) 上的空间特征信息。方向模板与图像的卷积运算是指模板的中心沿图像像元依次移动,在每一位置上将模板中各个元素值与图像上对应像元 DN 值相乘后的累加和作为模板中心点对应像元的卷积输出值。
方向模板分为零模板与非零模板,零模板其所有元素的代数和为零,非零模板中所有元素的代数和不为零 ( 图 4-16) 。
图 4-16 方向模板
4. 数字图像处理clean算法的MATLAB代码
图像去噪是数字图像处理中的重要环节和步骤。去噪效果的好坏直接影响到后续的图像处理工作如图像分割、边缘检测等。图像信号在产生、传输过程中都可能会受到噪声的污染,一般数字图像系统中的常见噪声主要有:高斯噪声(主要由阻性元器件内部产生)、椒盐噪声(主要是图像切割引起的黑图像上的白点噪声或光电转换过程中产生的泊松噪声)等;
目前比较经典的图像去噪算法主要有以下三种:
均值滤波算法:也称线性滤波,主要思想为邻域平均法,即用几个像素灰度的平均值来代替每个像素的灰度。有效抑制加性噪声,但容易引起图像模糊,可以对其进行改进,主要避开对景物边缘的平滑处理。
中值滤波:基于排序统计理论的一种能有效抑制噪声的非线性平滑滤波信号处理技术。中值滤波的特点即是首先确定一个以某个像素为中心点的邻域,一般为方形邻域,也可以为圆形、十字形等等,然后将邻域中各像素的灰度值排序,取其中间值作为中心像素灰度的新值,这里领域被称为窗口,当窗口移动时,利用中值滤波可以对图像进行平滑处理。其算法简单,时间复杂度低,但其对点、线和尖顶多的图像不宜采用中值滤波。很容易自适应化。 Wiener维纳滤波:使原始图像和其恢复图像之间的均方误差最小的复原方法,是一种自适应滤波器,根据局部方差来调整滤波器效果。对于去除高斯噪声效果明显。
实验一:均值滤波对高斯噪声的效果
I=imread('C:\Documents and Settings\Administrator\桌面\1.gif');%读取图像
5. 图像平滑处理的原理
这个可以使用均值滤波处理,它也叫图像的平滑。均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素(以目标象素为中心的周围8个象素,构成一个滤波模板,即去掉目标象素本身)。再用模板中的全体像素的平均值来代替原来像素值。
6. 说明算术平均滤波,加权平均滤波和滑动平均滤波之间的区别以及各自的用途
clear clc x=randn(1,100); %x为要滤波的信号 m=5;%表示平滑滤波窗长度,这是长度为奇数的情况 %前m/2,最后m/2个点没滤波,设为原来的值就行 for i=1:length(x)-m+1 y(i+(m-1)/2)=sum(x(i:i+m-1))/m; end figure(1); plot(x,'r');hold on;plot(y,'g');hold off; 这是最简单的,不知道你需要基于什么算法的平滑滤波!有重心法的,算术滑动平均的,变参数双指数平滑方法,还有用插值的方式去平滑的