摘 要: 数字滤波技术在视觉编码、电力系统、复杂信息识别等众多领域中有着非常普遍的应用。本文在基于matlab工具下研究数字图像滤波器设计, 我们利用小波变换和matlab滤波函数对噪声图像的去噪处理方法进行了研究。
关键词: MATLAB; 数字滤波器; 图像处理; 小波变换;
1、 MATLAB进行图像处理分析
数字图像处理技术是指通过利用计算机技术及其他相关的数字技术, 对图像进行相应运算和处理, 从而达到我们所期望的目的。本文采用MATLAB工具对图像处理进行了分析, 首先选用.JPG文件为源图像, 然后将相应噪声源加入源图像。通过对噪声图像进行数字滤波处理, 使之还原成源图像。
2、 MATLAB对图像处理的具体步骤
2.1、 源图像加噪处理
我们选用着名名画《蒙拉丽莎》作为研究的对象。如果对源色彩图像进行数字处理, 其运算量较大, 且不利于研究后续处理。所以我们先将源色彩图像通过加权平均法转化为灰度图像, 然后在灰度图像中加入高斯白噪声。通过MATLAB读入图像并对源图像大小尺寸进行调整, 并将RGB图像转化为灰度图像, 然后在灰度图像中加入均值为0, 方差为0.003的高斯白噪声。
2.2、 MATLAB去噪处理
通过使用MATLAB数字信号处理工具箱中的函数, 将高斯白噪声进行一些列数字滤波处理, 使之还原成源图像。Z=medfilt2 (Y1, [m, n]) ;函数使得输入图像Y1中每一点中心的[m n]域作为输出图像的像素点。在使用了中值滤波后, 矩阵[m n]/2内的点会产生部分扭曲。Z=ordfilt2 (X, order, domain) ;顺序统计滤波函数, 参数X为图像的矩阵, order为滤波器输出的顺序值, domain是过滤器窗口。也就是在将转化后的矩阵图像X的非零像素值按升序排序, 并将其顺序排列的像素值输出。
J=wiener2 (X, [m, n], noise) ;维纳滤波器的输入为随机信号。期望输出与实际输出之间的差值为误差, 则误差越小噪声滤除效果也越好。通过计算像素局部均值 (1) 和方差 (2) 进行自适应滤波。
其中, α是图像中每个像素的m×n局部邻域, 而v?则是噪声方差。
3、 小波处理用于图像消噪
3.1、 二维小波简介
很多数字信号处理方法是需要建立在傅里叶变换的基础上实现的, 而傅里叶变换具有一定的局限性。信号在进行傅里叶变换后, 变换后的信号将不能再提供任何时域信息, 使得信号在频率变化下出现失真。这对于一些非平稳含有突变的系统, 采用傅里叶变化所得到的结果是不可靠的。要解决之类问题可以使用小波变换。随着系统频率变化, 小波变换可以提供对应变化的窗口, 通过伸缩平移运算对系统信号逐步进行多尺度细化, 从而能有效地提取信息。
3.2、 转化256级灰度索引图
若通过MATLAB使用小波变换对图像进行数字化处理, 我们需要将图像转化为索引图像。本图为非索引图像, 所以我们首先需要将其转换为索引图, 然后再将索引图转换为灰度级图像。其中需要将Uint8格式的X转化为双精度格式Y, 并将索引图像中的RGB成分分开。将处理后的灰度级图像采用三种颜色成分标准色感权重, 并将灰度图像转化为256级灰度级索引图像如图1, 以便利于小波分解。具体程序如下:
图1 256级灰度索引图
3.3、 二维小波滤噪
通过二维小波变换后, 图像由暗到亮的灰度颜色是线性平滑的, 有助于小波分解去噪。首先我们在处理后的灰度级索引照片加入随机噪声, 使用ddencmp () 求出小波消噪阈值, 之后根据生成的小波处理阈值选取sym3小波对图像进行噪。具体程序如下:
图2 二维滤波处理图
运行结果如图2:
分析:对比噪声图像与经过数字滤波处理后的图像, 得出在施加同等噪声的情况下。相比于MATLAB库中的函数消噪, 利用二维小波进行图像消噪取得的效果更好。
参考文献:
[1]孙祥, 黄晓鸣.基于MATLAB的集成化图像处理系统[J].科学技术与工程.2007 (20)