根据Matlab的图像去噪算法仿真

根据Matlab的图像去噪算法仿真
根据Matlab的图像去噪算法仿真

基于Matlab的图像去噪算法仿真

在信息化的社会里,图像在信息传播中所起的作用越来越大。所以,消除在图像采集和传输过程中而产生的噪声,保证图像受污染度最小,成了数字图像处理领域里的重要部分。

本文主要研究分析邻域平均法、中值滤波法、维纳滤波法及模糊小波变换法的图像去噪算法。首先介绍图像处理应用时的常用函数及其用法;其次详细阐述了四种去噪算法原理及特点;最后运用Matlab软件对一张含噪图片(含高斯噪声或椒盐噪声)进行仿真去噪,通过分析仿真结果得出:

一.均值滤波是典型的线性滤波,对高斯噪声抑制是比较好的;

二.中值滤波是常用的非线性滤波方法,对椒盐噪声特别有效;

三.维纳滤波对高斯噪声有明显的抑制作用;

四.对小波系数进行阈值处理可以在小波变换域中去除低幅值的噪声和不期望的信号。

本论文主要是从两方面展开,首先是图像去噪算法:简要说明了图像噪声的概念及分类,详细阐述了邻域平均法、中值滤波法、维纳滤波法及模糊小波变换法的去噪原理及特点。

其次是基于Matlab的图像去噪算法仿真:根据邻域平均法、中值滤波法、维纳滤波法及模糊小波变换法原理分析,运用Matlab仿真软件编写代码,对一张含噪图片(含高斯噪声或椒盐噪声)进行仿真去噪,并对结果分析讨论,比较几种方法的优缺点。

本论文仿真时选取一张彩色图片“2010-03-09-2.bmp”,并在图片中加入

两种噪声:高斯噪声和椒盐噪声。所谓高斯噪声是指它的概率密度函数服从高斯分布的一类噪声。椒盐噪声是由图像传感器、传输信道、解码处理等产生的黑白相间的亮暗点噪声,属于非平稳噪声。本章利用Matlab软件对含噪图像的去噪算法进行仿真,将应用邻域平均法、中值滤波法、维纳滤波法和模糊小波变换法对含有高斯噪声和椒盐噪声图像的去噪效果进行比较,从而得到相应结论。

1.1邻域平均法的仿真

本节选用邻域平均法对含有高斯噪声和椒盐噪声的图片进行去噪,并用Matlab软件仿真。

(1)给图像加入均值为0,方差为0.02的高斯噪声,选择3×3模板去噪Matlab部分代码:

j=imnoise(x,'gaussian',0,0.02);

h=ones(3,3);

h=h/9;

k=conv2(j,h);

仿真结果如图4-1所示。

图1-1 邻域平均法对高斯噪声去噪的仿真结果

(2)给图像加入噪声密度为0.02的椒盐噪声,选择3×3模板去噪

Matlab部分代码:

j=imnoise(x,'salt & pepper',0.02);

h=ones(3 3);

h=h/9;

k=conv2(j,h);

仿真结果如图1-2所示。

图1-2 邻域平均法对椒盐噪声去噪的仿真结果

从仿真结果可以看出:邻域平均法实现起来很方便,适用于消除图像中的颗粒噪声,但需要指出这种方法既平滑了图像信号,同时使图像的细节部分变得模

糊。由以上处理后的图像可以看到:邻域平均法消弱了图像的边缘,使图像变得有些模糊。如图1-1所示,均值滤波对高斯噪声的抑制是比较好的,但对椒盐噪声的抑制作用不好,如图1-2所示,椒盐噪声仍然存在,只不过被削弱了而已。为了改善均值滤波细节对比度不好、区域边界模糊的缺陷,常用门限法来抑制椒盐噪声和保护细小纹理,用加权法来改善图像的边界模糊,用选择平均的自适应技术来保持图像的边界。

1.2中值滤波的仿真

本节选用中值滤波法对含有高斯噪声和椒盐噪声的图像进行去噪,并用Matlab软件仿真。

(1)给图像加入均值为0,方差为0.02的高斯噪声,分别选择3×3模板、5×5模板和7×7模板进行去噪

Matlab部分代码:

j=imnoise(I,'gaussian',0,0.02);

x=j(:,:,1);

subplot(221);

imshow(x);

title('高斯噪声图片');

k1=medfilt2(x,[3 3]);

k2=medfilt2(x,[5 5]);

k3=medfilt2(x,[7 7]);

仿真结果如图1-3所示。

图1-3 中值滤波法对高斯噪声去噪的仿真结果

(2)给图像加入噪声密度为0.02的椒盐噪声,分别选择3×3模板、5×5模板和7×7模板进行去噪

Matlab 部分代码:

i=imread('2010-03-09-2.bmp');

含噪声图像

100

200

300

50100150200

3×3模板中值滤波

100

200

300

50100150200

5×5模板中值滤波7×7模板中值滤波

j=imnoise(I,'salt & pepper',0.02); x=j(:,:,1); subplot(221); imshow(x);

title('椒盐噪声图片'); k1=medfilt2(x,[3 3]); k2=medfilt2(x,[5 5]); k3=medfilt2(x,[7 7]);

仿真结果如图1-4所示。

含噪声图像

100

200

300

50100150200

3×3模板中值滤波

100

200

300

50100150200

5×5模板中值滤波7×7模板中值滤波

图1-4 中值滤波法对椒盐噪声去噪的仿真结果

从仿真结果可以看出:对图像加入椒盐噪声后,应用中值滤波,如图1-4所示,噪声的斑点几乎全部被滤去,它对滤除图像的椒盐噪声非常有效。而对于高斯噪声来说,如图1-3所示,虽然也有一些去噪效果,但效果不佳。由此可知,中值滤波法运算简单,易于实现,而且能较好地保护边界,但有时会失掉图像中的细线和小块区域。并且采用窗口的大小对滤波效果影响很大,窗口越大,图像去噪效果越好,但代价是模糊的程度越大。

1.3维纳滤波的仿真

选用维纳滤波法对含有高斯噪声和椒盐噪声的图像进行去噪,并用Matlab 软件仿真。

(1)给图像加入均值为0,方差为0.02的高斯噪声,选择3×3模板去噪Matlab部分代码:

i=imread('2010-03-09-2.bmp');

j=imnoise(I,'gaussian',0,0.02);

x=j(:,:,1);

k=wiener2(x);

仿真结果如图1-5所示。

图1-5 维纳滤波法对高斯噪声去噪的仿真结果

(2)给图像加入噪声密度为0.02的椒盐噪声,选择3×3模板去噪 Matlab 部分代码:

j=imnoise(I,'salt & pepper',0.02); x=j(:,:,1); k=wiener2(x);

仿真结果如图1-6所示。

加噪图

去噪图

加噪图

去噪图像

图1-6 维纳滤波法对椒盐噪声去噪的仿真结果

从仿真结果可以看出:维纳滤波对高斯白噪声的图像滤波与邻域平均法比较,滤波效果好,它比线性滤波器具有更好的选择性,可以更好地保存图像的边缘和高频细节信息。虽然,维纳滤波在大多数情况下都可以获得满意的结果,尤其对含有高斯噪声的图像。另外维纳滤波对于椒盐噪声去除效果却不尽人意,几乎没有效果。它不能用于噪声为非平稳的随机过程的情况,对于向量情况应用不方便。因此,维纳滤波在实际问题中应用不多。

1.4基于模糊小波变换法的仿真

选用模糊小波变换法对含有高斯噪声和椒盐噪声的图像进行去噪,并用Matlab软件仿真。

(1)给图像加入均值为0,方差为0.02的高斯噪声,用小波函数coif2对图象进行2层分解,选择3×3模板去噪

Matlab部分代码:

function y=zishiying(x)

x11=medfilt2(x,[3 3]);

x12=double(x11);

[a,b]=size(x12);

[c,s]=wavedec2(x12,3,'coif2');

n=[1,2,3];

p4=0.02*(sqrt(2*log(a*b)));

size(detcoef2('h',c,s,1));

size(detcoef2('v',c,s,1));

size(detcoef2('d',c,s,1));

p1(1)=detcoef2('h',c,s,1);

p2(1)=detcoef2('v',c,s,1);

p3(1)=detcoef2('d',c,s,1);

p1(2)=detcoef2('h',c,s,2);

p2(2)=detcoef2('v',c,s,2);

p3(2)=detcoef2('d',c,,s,2);

for i=1:1:2

p1(i)=1/((p1(i)-p4)^2+1);

if p1(i)>=p4

p1(i)=sign(p1(i))*(abs(p1(i))-p1(i)*p4); else

p1(i)=0;

end

if p2(i)>=p4

p2(i)=sign(p2(i))*(abs(p2(i))-p2(i)*p4); else

p2(i)=0;

end

if p3(i)>=p4

p3(i)=sign(p3(i))*(abs(p3(i))-p3(i)*p4); else p3(i)=0; end end

仿真结果如图1-7所示。

图1-7 模糊小波变换法对高斯噪声去噪的仿真结果

(2)给图像加入噪声密度为0.02的椒盐噪声,选择3×3模板去噪 仿真结果如图4-8所示。

含噪声图像消除噪声后的图像100

200

300

50100150

200

含噪声图像

50100

消除噪声后的图像

50100

图1-8 模糊小波变换法对椒盐噪声去噪的仿真结果

从仿真结果可以看出:为验证本文算法的滤波效果,对加入不同噪声的图像进行了滤波测试。从视觉来看,自适应模糊小波变换算法在保持细节和去噪两方面效果最好。在平滑高斯噪声和有脉冲噪声的图像去噪效果都很显著。本算法相对于其它几种算法其效果都有明显的改进,既能够很好地消除噪声,又能够较好地保持图像边缘细节,而且算法简单,易于实现。目前使用比较广泛。

1.5几种去噪方法的比较分析

均值滤波是典型的线性滤波算法,其采用的主要方法为邻域平均法。即对待处理的当前像索点),(y

x,选择一个模板,该模板由其近邻M个像素组成,求模板中所有像素的均值,再把该均值赋予当前像素的算术平均值∑

f

y

x

g,作为邻域平均处理后的灰度。该方法运算简单,对高斯噪声x

-)

,

(y

(

,

)

具有良好的去噪能力。均值滤波可归结为矩形窗加权的有限冲激响应线性滤波器。因此,均值滤波相当于低通滤波器。这种低通性能在平滑噪声的同时,必定也会模糊信号的细节和边缘,即在消除噪声的同时也会对图像的高频细节成分造

成破坏和损失,使图像模糊,由以上处理后的图像可以看到:邻域平均法消弱了图像的边缘,使图像变得有些模糊。均值滤波时高斯噪声抑制是比较好的,但对椒盐噪声的抑制作用不好,椒盐噪声仍然存在,只不过被削弱了而已,如仿真结果图1-2所示。为了改善均值滤波细节对比度不好、区域边界模糊的缺陷,常用门限法来抑制椒盐噪声和保护细小纹理,用加权法来改善图像的边界模糊,用选择平均的自适应技术来保持图像的边界。

中值滤波是常用的非线性滤波方法,也是图像处理技术中最常用的预处理技术。它可以克服线性滤波器给图像带来的模糊,在有效清除颗粒噪声的同时,又能保持良好的边缘特性,从而获得较满意的滤波效果,特别适合于去除图像的椒盐噪声,如仿真结果图1-4所示。当窗口在图像中上下左右进行移动后,利用中值滤波算法可以很好地对图像进行平滑处理。由以上图像可以看到:中值滤波法较好地保留了图像的边缘,使其轮廓比较清晰。中值滤波对椒盐噪声特别有效,取得了很好的效果,而对高斯噪声效果不佳。对一些复杂的图像,可以使用复合型中值滤波,如:中值滤波线性组合、高阶中值滤波组合、加权中值滤波以及迭代中值滤波等来改善单纯中值滤波的一些不足,从而达到更好的滤波效果。

维纳滤波是一种对退化图像进行恢复处理的一种常用算法,也是最早也最为人们熟知的线性图像复原方法。其设计思想是使输人信号乘响应后的输出,与期望输出的均方误差为最小。从图1-5中可以看到维纳滤波对高斯噪声有明显的抑制作用,相对与均值滤波和中值滤波,维纳滤波对这两种噪声的抑制效果更好,缺点就是容易失去图像的边缘信息。又正如图1-6所示,维纳滤波对椒盐噪声几乎没有抑制作用。

小波阈值去噪方法是研究最广泛的方法。这种非线性滤波方法之所以特别有

效,就是由于小波变换具有一种“集中”的能力,它可以使一个信号的能量在小波变换域集中在少数系数上,因此这些系数的幅值必然大于在小波变换域内能量分散于大量小波系数上的信号或噪声的幅值。这就意味着对小波系数进行阈值处理可以在小波变换域中去除低幅值的噪声和不期望的信号,然后运用小波逆变换,得到去噪后的重建图像。如图1-7、1-8所示,使用小波变换都得到了较好的消噪效果。

上述滤波方法虽都有一定的降噪效果,但都有其局限性。事实上,不管滤波器具有什么样的频率响应,均不可能做到噪声完全滤掉,使信号波形不失真。但我们可以不断地改进滤波的技术,如实际应用中常用一些改进型的滤波方法如小波导向、多级门限检测来提高去噪的效果从而最大可能地恢复出原始图像。

参考文献:

[1] CAITT,SILVERMANBW.Incorporating information on Neighbouring

Coefficients into wavelet estimation [J].The Indian Journal of Statistics,2001,63(2):127-148.

[2] 杨群生,陈敏等.基于模糊技术的随机噪声消除算法[J].华南理工大学学报,2000,

28(8):82-87.

[3] L.K.Shark and C.Yu.Denoising by optimal fuzzy thresholding in wavelet

domain [J].IEEE Electronics letters,2000,36(6):581-582.

[4] S.Mallat,Sifen Zhong,Characterization of signals from multiscale

edges[J].IEEE Trans on PAMI,1992,PAMI-14(7):710-732.

[5] Keesok J.Han and Ahmed H.Tewfik.Hybnd Wavelet Transform Fllter for

Image Recovery[J].IEEETrans.Image Processing,1998,l540-544.

[6] H.K .Kwan .Fuzzy filters for noise image filtering [J].IEEE.2003,161-164.

[7] 杨晋生,蔡靖等.一种具有鲁棒性的基于小波变换的滤波方法[J].电子与信息学报,

2002,24(3):413-417.

[8] 张磊,潘泉,张洪才等.小波域滤波阈值参数的选取[J].电子学报,2001,29(3):

400-402.

基于Matlab基本图像处理程序

图像读入 ●从图形文件中读入图像 imread Syntax: A = imread(filename, fmt) filename:指定的灰度或彩色图像文件的完整路径和文件名。 fmt:指定图形文件的格式所对应的标准扩展名。如果imread没有找到filename所制定的文件,会尝试查找一个名为filename.fmt的文件。 A:包含图像矩阵的矩阵。对于灰度图像,它是一个M行N列的矩阵。如果文件包含 RGB真彩图像,则是m*n*3的矩阵。 ●对于索引图像,格式[X, map] = imread(filename, fmt) X:图像数据矩阵。 MAP:颜色索引表 图像的显示 ●imshow函数:显示工作区或图像文件中的图像 ●Syntax: imshow(I) %I是要现实的灰度图像矩阵 imshow(I,[low high],param1, val1, param2, val2,...) %I是要现实的灰度图像矩阵,指定要显示的灰度范围,后面的参数指定显示图像的特定参数 imshow(RGB) imshow(BW) imshow(X,map) %map颜色索引表 imshow(filename) himage = imshow(...) ●操作:读取并显示图像 I=imread('C:\Users\fanjinfei\Desktop\baby.bmp');%读取图像数据 imshow(I);%显示原图像 图像增强 一.图像的全局描述 直方图(Histogram):是一种对数据分布情况的图形表示,是一种二维统计图表,它的两个坐标分别是统计样本和该样本对应的某个属性的度量。 图像直方图(Image Histogram):是表示数字图像中亮度分布的直方图,用来描述图象灰度值,标绘了图像中每个亮度值的像素数。 灰度直方图:是灰度级的函数,它表示图像中具有某种灰度级的像素的个数,反映了图 像中某种灰度出现的频率。描述了一幅图像的灰度级统计信息。是一个二维图,横坐标为图像中各个像素点的灰度级别,纵坐标表示具有各个灰度级别的像素在图像中出现的次数或概率。 归一化直方图:直接反应不同灰度级出现的比率。纵坐标表示具有各个灰度级别的像

MATLAB实现频域平滑滤波以及图像去噪代码

用MATLAB实现频域平滑滤波以及图像去噪代码 悬赏分:50 - 解决时间:2008-11-8 14:21 是数字图象处理的实验,麻烦高人给个写好的代码,希望能在重要语句后面附上一定的说明,只要能在MATLAB上运行成功,必然给分。具体的实验指导书上的要求如下: 频域平滑滤波实验步骤 1. 打开Matlab 编程环境;

2. 利用’imread’函数读入图像数据; 3. 利用’imshow’显示所读入的图像数据; 4. 将图像数据由’uint8’格式转换为’double’格式,并将各点数据乘以 (-1)x+y 以便FFT 变换后的结果中低频数据处于图像中央; 5. 用’fft2’函数对图像数据进行二维FFT 变换,得到频率域图像数据; 6. 计算频率域图像的幅值并进行对数变换,利用’imshow’显示频率域图 像; 7. 在频率图像上去除滤波半径以外的数据(置0); 8. 计算频率域图像的幅值并进行对数变换,利用’imshow’显示处理过的 频域图像数据; 9. 用’ifft2’函数对图像数据进行二维FFT 逆变换,并用’real’函数取其实部,得到处理过的空间域图像数据; 10. 将图像数据各点数据乘以(-1)x+y; 11. 利用’imshow’显示处理结果图像数据; 12. 利用’imwrite’函数保存图像处理结果数据。 图像去噪实验步骤: 1. 打开Matlab 编程环境; 2. 利用’imread’函数读入包含噪声的原始图像数据; 3. 利用’imshow’显示所读入的图像数据; 4. 以3X3 大小为处理掩模,编写代码实现中值滤波算法,并对原始噪声 图像进行滤波处理; 5. 利用’imshow’显示处理结果图像数据; 6. 利用’imwrite’函数保存图像处理结果数据。 即使不是按这些步骤来的也没关系,只要是那个功能,能实现就OK,谢谢大家 %%%%%%%%spatial frequency (SF) filtering by low pass filter%%%%%%%% % the SF filter is unselective to orientation (doughnut-shaped in the SF % domain). [FileName,PathName,FilterIndex] = uigetfile ; filename = fullfile(PathName, FileName) ; [X map] = imread(filename, fmt); % read image L = double(X); % transform to double %%%%%%%%%%%%% need to add (-1)x+y to L % calculate the number of points for FFT (power of 2) fftsize = 2 .^ ceil(log2(size(L))); % 2d fft Y = fft2(X, fftsize(1), fftsize (2));

基于matlab的图像去雾算法详细讲解与实现-附matlab实现源代码

本文主要介绍基于Retinex理论的雾霭天气图像增强及其实现。并通过编写两个程序来实现图像的去雾功能。 1 Rentinex理论 Retinex(视网膜“Retina”和大脑皮层“Cortex”的缩写)理论是一种建立在科学实验和科学分析基础上的基于人类视觉系统(Human Visual System)的图像增强理论。该算法的基本原理模型最早是由Edwin Land(埃德温?兰德)于1971年提出的一种被称为的色彩的理论,并在颜色恒常性的基础上提出的一种图像增强方法。Retinex 理论的基本容是物体的颜色是由物体对长波(红)、中波(绿)和短波(蓝)光线的反射能力决定的,而不是由反射光强度的绝对值决定的;物体的色彩不受光照非均性的影响,具有一致性,即Retinex理论是以色感一致性(颜色恒常性)为基础的。 根据Edwin Land提出的理论,一幅给定的图像S(x,y)分解成两幅不同的图像:反射物体图像R(x,y)和入射光图像L(x,y),其原理示意图如图8.3-1所示。 图-1 Retinex理论示意图 对于观察图像S中的每个点(x,y),用公式可以表示为: S(x,y)=R(x,y)×L(x,y) (1.3.1) 实际上,Retinex理论就是通过图像S来得到物体的反射性质R,也就是去除了入射光L的性质从而得到物体原本该有的样子。 2 基于Retinex理论的图像增强的基本步骤 步骤一: 利用取对数的方法将照射光分量和反射光分量分离,即: S'(x, y)=r(x, y)+l(x, y)=log(R(x, y))+log(L(x, y)); 步骤二:用高斯模板对原图像做卷积,即相当于对原图像做低通滤波,得到低通滤波后的图像D(x,y),F(x, y)表示高斯滤波函数: D(x, y)=S(x, y) *F(x, y); 步骤三:在对数域中,用原图像减去低通滤波后的图像,得到高频增强的图像G (x, y):

Matlab中关于图像处理、去噪分析以及有关散点连线画图等程序

算法程序 1.找到图片 addpath('C:\Documents and Settings\user\My Documents\My Pictures'); imshow('3.jpg') 2.将彩色图片处理成灰度图片 addpath('C:\Documents and Settings\user\My Documents\My Pictures'); A=imread('3.jpg'); I=rgb2gray(A); imshow(I) 3.改变图片大小 右键----编辑----属性-----输入想要的大小 4.两张图片相叠加(区分imadd和系数叠加) 直接把图像数据矩阵相加,可以设定叠加系数,如(系数可自由设定,按需要) img_tot = img1 * 0.5 + img2 * 0.5; %两个图像大小要一致 图像的矩阵我再那里能找到 img1 = imread('tupian.bmp'); 图片相加 addpath('C:\Documents and Settings\user\My Documents\My Pictures'); A=imread('2.jpg'); imshow(A) >> B=imread('3.jpg'); imshow(B) >> C=imadd(A,B); imshow(C) >> D=A*0.5+B*0.5; imshow(D) A图像

B图像 C图像 D图像 5.两张图片相减 addpath('C:\Documents and Settings\user\My Documents\My Pictures'); A=imread('2.jpg');

基于MATLAB的减少图像噪声

目录 第一章概述 (2) 第二章典型噪声介绍 (3) 第三章基于MATLAB的模拟噪声生成 (5) 第四章均值滤波处理方法 (7) 4.1均值滤波原理 (7) 4.2 均值滤波法对图像的处理 (9) 第五章中值滤波处理方法 5.1 中值滤波原理 (12) 5.2中值滤波法对图像的处理 (12) 第六章频域低通滤波法 (15) 6.1理想低通滤波器(ILPF)对图像的处理 (15) 6.2 巴特沃思低通滤波器(BLPF)对图像的处理 (18) 6.3 指数滤波器(ELPF)对图像的处理 (20) 6.4 梯形滤波器(TLPF)对图像的处理 (22) 6.5 构建二维滤波器对图像的处理 (24) 第七章总结与体会 (27) 参考文献 (28)

第一章概述 图像平滑主要有两个作用:一个是清除或减少噪声,改善图像质量;另一个是模糊图像,使图像看起来更柔和自然。图像噪声来自于多方面,有来自于系统外部的干扰,如电磁波或经电源窜进系统内部的外部噪声;也有来自于系统内部的干扰,如摄像机的热噪声,电器机械运动而产生的抖动噪声内部噪声。实际获得的图像都因受到干扰而有噪声,噪声产生的原因决定了噪声分布的特性及与图像信号的关系。减少噪声的方法可以在空间域或在频率域处理。空间域常用的方法有领域平均法、中值滤波法、多图像平均法等;在频域可以采用理想低通、巴特沃斯低通等各种形式的低通滤波器进行低通滤波。 图像平滑处理的主要目的是去噪声,而噪声有很多种,大体可分为两类:加性噪声和乘性噪声。加性噪声通常表现为椒盐噪声、高斯噪声等;乘性噪声的一个典型例子就是光照变化。图像中的噪声往往是和信号交织在一起的,尤其是乘性噪声,如果平滑不当,就会使图像本身的细节如边缘轮廓,线条等模糊不清,从而使图像降质。图像平滑总是要以一定的细节模糊为代价的,因此如何尽量平滑掉图像的噪声,又尽量保持图像的细节,是图像平滑研究的主要问题之一。 图像平滑主要是为了消除被污染图像中的噪声,这是遥感图像处理研究的最基本内容之一,被广泛应用于图像显示、传输、分析、动画制作、媒体合成等多个方面。该技术是出于人类视觉系统的生理接受特点而设计的一种改善图像质量的方法。

基于retinex的图像去雾算法

I=imread('1.jpg'); R = I(:, :, 1); G = I(:, :, 2); B = I(:, :, 3); R0 = double(R); G0 = double(G); B0 = double(B); [N1, M1] = size(R); Rlog = log(R0+1); Rfft2 = fft2(R0); sigma1 = 128; F1 = fspecial('gaussian', [N1,M1], sigma1); Efft1 = fft2(double(F1)); sigma2 = 256; F2 = fspecial('gaussian', [N1,M1], sigma2); Efft2 = fft2(double(F2)); sigma3 = 512; F3 = fspecial('gaussian', [N1,M1], sigma3); Efft3 = fft2(double(F3)); DR0 = Rfft2.* Efft1; DR = ifft2(DR0); DRlog = log(DR +1); Rr1 = Rlog - DRlog; DR0 = Rfft2.* Efft2; DR = ifft2(DR0); DRlog = log(DR +1); Rr2 = Rlog - DRlog; DR0 = Rfft2.* Efft3; DR = ifft2(DR0); DRlog = log(DR +1); Rr3 = Rlog - DRlog; Rr = (Rr1 + Rr2 +Rr3)/3; a = 125; II = imadd(R0, G0); II = imadd(II, B0); Ir = immultiply(R0, a); C = imdivide(Ir, II); C = log(C+1); Rr = immultiply(C, Rr); EXPRr = exp(Rr); MIN = min(min(EXPRr)); MAX = max(max(EXPRr)); EXPRr = (EXPRr - MIN)/(MAX - MIN); EXPRr = adapthisteq(EXPRr); Glog = log(G0+1); Gfft2 = fft2(G0); DG0 = Gfft2.* Efft1;

matlab图像去噪算法设计(精)

数字图像去噪典型算法及matlab实现 希望得到大家的指点和帮助 图像去噪是数字图像处理中的重要环节和步骤。去噪效果的好坏直接影响到后续的图像处理工作如图像分割、边缘检测等。图像信号在产生、传输过程中都可能会受到噪声的污染,一般数字图像系统中的常见噪声主要有:高斯噪声(主要由阻性元器件内部产生)、椒盐噪声(主要是图像切割引起的黑图像上的白点噪声或光电转换过程中产生的泊松噪声)等; 目前比较经典的图像去噪算法主要有以下三种: 均值滤波算法:也称线性滤波,主要思想为邻域平均法,即用几个像素灰度的平均值来代替每个像素的灰度。有效抑制加性噪声,但容易引起图像模糊,可以对其进行改进,主要避开对景物边缘的平滑处理。 中值滤波:基于排序统计理论的一种能有效抑制噪声的非线性平滑滤波信号处理技术。中值滤波的特点即是首先确定一个以某个像素为中心点的邻域,一般为方形邻域,也可以为圆形、十字形等等,然后将邻域中各像素的灰度值排序,取其中间值作为中心像素灰度的新值,这里领域被称为窗口,当窗口移动时,利用中值滤波可以对图像进行平滑处理。其算法简单,时间复杂度低,但其对点、线和尖顶多的图像不宜采用中值滤波。很容易自适应化。 Wiener维纳滤波:使原始图像和其恢复图像之间的均方误差最小的复原方法,是一种自适应滤波器,根据局部方差来调整滤波器效果。对于去除高斯噪声效果明显。实验一:均值滤波对高斯噪声的效果 I=imread('C:\Documents and Settings\Administrator\桌面\1.gif');%读取图像 J=imnoise(I,'gaussian',0,0.005);%加入均值为0,方差为0.005的高斯噪声 subplot(2,3,1);imshow(I); title('原始图像'); subplot(2,3,2); imshow(J); title('加入高斯噪声之后的图像'); %采用MATLAB中的函数filter2对受噪声干扰的图像进行均值滤波 K1=filter2(fspecial('average',3),J)/255; %模板尺寸为3 K2=filter2(fspecial('average',5),J)/255;% 模板尺寸为5 K3=filter2(fspecial('average',7),J)/255; %模板尺寸为7 K4= filter2(fspecial('average',9),J)/255; %模板尺寸为9 subplot(2,3,3);imshow(K1); title('改进后的图像1'); subplot(2,3,4); imshow(K2); title('改进后的图像2');

图像去雾霭算法及其实现..

图像去雾霭算法及其实现 电气工程及其自动化 学生姓名杨超程指导教师李国辉 摘要雾霭等天气条件下获得的图像,具有图像不清晰,颜色失真等等一些图像退化的现象,直接影响了视觉系统的发挥。因此,为了有效的改善雾化图像的质量,降低雾霭等天气条件下造成户外系统成像的影响,对雾霭图像进行有效的去雾处理显得十分必要。 本设计提出了三种图像去雾算法,一种是基于光照分离模型的图像去雾算法;一种是基于直方图均衡化的图像去雾算法;还有一种是基于暗原色先验的图像去雾算法。并在MATLAB的基础上对现实生活的图像进行了去雾处理,最后对不同的方法的处理结果进行了简要的分析。 关键词:图像去雾光照分离直方图均衡化暗原色先验

Algorithm and its implementation of image dehazing Major Electrical engineering and automation Student Yang Chaocheng Supervisor Li Guohui Abstract Haze weather conditions so as to obtain the image, the image is not clear, the phenomenon of color distortion and so on some image degradation, directly influence the exertion of the visual system. Therefore, in order to effectively improve the atomization quality of the image, reduce the haze caused by outdoor weather conditions such as imaging system, the influence of the haze image effectively it is necessary to deal with the fog. This design introduced three kinds of algorithms of image to fog, a model is based on the separation of light image to fog algorithm; One is the image to fog algorithm based on histogram equalization; Another is based on the dark grey apriori algorithms of image to fog. And on the basis of MATLAB to the real life to deal with the fog, the image of the processing results of different methods are briefly analyzed. Key words:Image to fog Light separation histogram Dark grey

最新图像去噪处理的研究及MATLAB仿真

图像去噪处理的研究及M A T L A B仿真

目录 引言 (1) 1图像去噪的研究意义与背景 (2) 1.1数字图像去噪研究意义与背景 (2) 1.2 数字图像去噪技术的研究现状 (3) 2 邻域平均法理论基础 (3) 2.1 邻域平均法概念 (3) 3 中值滤波法理论基础 (3) 3.1中值滤波法概念 (3) 3.2中值滤波法的实现 (4) 4中值滤波法去噪技术MATLAB仿真实现 (4) 4.1Matlab仿真软件 (4) 4.2中值滤波法的MATLAB实现 (5) 4.3邻域平均法的MATLAB实现 (6) 总结 (8) 全文工作总结 (8) 工作展望 (8) 参考文献 (9) 英文摘要 (10) 致谢语 (11)

图像去噪处理的研究及MATLAB仿真 电本1102班姓名:杨韬 指导老师:刘明军摘要:图像是生活中一种重要的信息来源,通过对图像的处理可以帮助我们了解信息的内在信息。数字图像去噪声涉及光学系统、微电子技术、计算机科学、数学分析等领域,是一门综合性很强的边缘科学,如今其理论体系非常完善,且其应用很广泛,在医学、军事、艺术、农业等都有广泛且充分的应用。MATLAB是一种高效的工程计算语言,在数值计算、数据处理、图像处理、神经网络、小波分析等方面都有广泛的应用。MATLAB是一种向量语言,它非常适合于进行图像处理。 本文概述了邻域平均法与中值滤波法去噪的基本原理。对这两种常用的去噪方法进行了分析比较和仿真实现。最后根据理论分析和实验结果,讨论了一个完整去噪算法中影响去噪性能的各种因素。为实际工作中的图像处理,去噪方法的选择和改进提供了数据参考和依据。 关键字:邻域平均法;中值滤波法;MATLAB 引言 图像因为一些原因总会被外界干扰,所以图像质量往往不是很好,而质量不好的图片又不容易进行进一步的处理。在对图像的地处理过程中,图像去噪是很重要的一个环节,所以想对图像进行进一步的处理,对图像的去噪就变得重要起来,所以很多研究人员对这一课题进行了比较全面的研究,图像的处理最传统的方法是在空域中的处理,也就是说在图像的空间范畴内对图像质量进行改善。也可以对图像进行平滑处理等,这属于第一类图像处理方法。 中值滤波法与邻域平均法是出现最早的去噪手段,而且由于其具备良好的空频特性,实际应用也非常广泛。其中图像的邻域平均去噪方法是众多空域图像去噪方法中效果最好的去噪方法。基本思想就是用邻近的像素平均值来代替噪声的像素,且图像尺寸越大,去噪

基于MATLAB的图像平滑算法实现及应用

目录 1.3 图像噪声 一幅图像在获取和传输等过程中,会受到各种各样噪声的干扰,其主要来源有三:一为在光电、电磁转换过程中引入的人为噪声;二为大气层电(磁)暴、闪电、电压、浪涌等引起的强脉冲性冲激噪声的干扰;三为自然起伏性噪声,由物理量的不连续性或粒子性所引起,这类噪声又可分成热噪声、散粒噪声等。一般在图像处理技术中常见的噪声有:加性噪声、乘性噪声、量化噪声、“盐和胡椒”噪声等。下面介绍两种主要的噪声。 1、高斯噪声 这种噪声主要来源于电子电路噪声和低照明度或高温 带来的传感器噪声,也称为正态噪声,是在实践中经常用到的噪声模型。高斯随机变量z 的概率密度函数(P D F )由下式给出: }2/)(ex p{2/1)(22σμσπ--=z z p 其中, z 表示图像像元的灰度值;μ表示z 的期望;σ表示z 的标准差。 2、椒盐噪声 主要来源于成像过程中的短暂停留和数据传输中产生 的错误。其P D F 为: ?????===其他0)(b z pb a z pa z p 如果b > a , 灰度值b 在图像中显示为一亮点,a 值显

示为一暗点。如果P a和图像均不为零,在图像上的表现类似于随机分布图像上的胡椒和盐粉微粒,因此称为椒盐噪声。当P a为零时,表现为“盐”噪声;当P b为零时,表现为“胡椒”噪声。 图像中的噪声往往是和信号交织在一起的尤其是乘性 噪声,如果平滑不当,就会使图像本身的细节如边缘轮廓‘线条等模糊不清,从而使图像质量降低。

第二章、图像平滑方法 2.1 空域低通滤波 将空间域模板用于图像处理,通常称为空间滤波,而空间域模板称为空间滤波器。空间域滤波按线性和非线性特点有:线性、非线性平滑波器。 线性平滑滤波器包括领域平均法(均值滤波器),非线 性平滑滤波器有中值滤波器。 2.1.1 均值滤波器 对一些图像进行线性滤波可以去除图像中某些类型的噪声,如采用邻域平均法的均值滤波器就非常适用于去除通过扫描得到的图像中的颗粒噪声。邻域平均法是空间域平滑技术。这种方法的基本思想是,在图像空间,假定有一副N ×N 个像素的原始图像f (x ,y ),用领域内几个像素的平均值去代替图像中的每一个像素点值的操作。经过平滑处理后得到一副图像 g (x ,y ), 其表达式如下: ∑∈=s n m n m f M y x g ),(),(/1),( 式中: x ,y =0,1,2,…,N -1;s 为(x ,y )点领域中点的坐标的集合,但不包括(x ,y )点;M 为集合内坐标点的总数。 领域平均法有力地抑制了噪声,但随着领域的增大,图像的模糊程度也愈加严重。为了尽可能地减少模糊失真,也可采用阈值法减少由于领域平均而产生的模糊效应。其公式如下: ?????>-=∑∑∈∈其他),(),(/1),(),(/1),(),(),(y x f T n m f M y x f n m f M y x g s n m s n m 式中:T 为规定的非负阈值。

基于matlab的图像去雾算法详细讲解与实现附matlab实现源代码

基于matlab的图像去雾算法详细讲解与实现-附matlab 实现源代码

————————————————————————————————作者: ————————————————————————————————日期: ?

本文主要介绍基于Retinex理论的雾霭天气图像增强及其实现。并通过编写两个程序来实现图像的去雾功能。 1Rentinex理论 Retinex(视网膜“Retina”和大脑皮层“Cortex”的缩写)理论是一种建立在科学实验和科学分析基础上的基于人类视觉系统(Human Visual System)的图像增强理论。该算法的基本原理模型最早是由Edwin Land(埃德温?兰德)于1971年提出的一种被称为的色彩的理论,并在颜色恒常性的基础上提出的一种图像增强方法。Retinex 理论的基本内容是物体的颜色是由物体对长波(红)、中波(绿)和短波(蓝)光线的反射能力决定的,而不是由反射光强度的绝对值决定的;物体的色彩不受光照非均性的影响,具有一致性,即Retinex理论是以色感一致性(颜色恒常性)为基础的。 根据Edwin Land提出的理论,一幅给定的图像S(x,y)分解成两幅不同的图像:反射物体图像R(x,y)和入射光图像L(x,y),其原理示意图如图8.3-1所示。 图-1 Retinex理论示意图 对于观察图像S中的每个点(x,y),用公式可以表示为:? S(x,y)=R(x,y)×L(x,y) (1.3.1)实际上,Retinex理论就是通过图像S来得到物体的反射性质R,也就是去除了入射光L的性质从而得到物体原本该有的样子。 2 基于Retinex理论的图像增强的基本步骤 步骤一: 利用取对数的方法将照射光分量和反射光分量分离,即: S'(x,y)=r(x,y)+l(x, y)=log(R(x,y))+log(L(x, y)); 步骤二:用高斯模板对原图像做卷积,即相当于对原图像做低通滤波,得到低通滤波后的图像D(x,y),F(x, y)表示高斯滤波函数: D(x,y)=S(x, y) *F(x, y); 步骤三:在对数域中,用原图像减去低通滤波后的图像,得到高频增强的图像G (x,y): G(x,y)=S'(x, y)-log(D(x, y)) ;

图像去噪TV模型及Matlab实现

1.%% ROFdenoise 2.% 3.% Image -to denoise 4.% Theta - the parameter 5.% 6.% This denoising method is based on total-variation, originally proposed by 7.% Rudin, Osher and Fatemi. In this particular case fixed point iteration 8.% is utilized. 9.%------ 10.% For the included image, a fairly good result is obtained by using a 11.% theta value around 12-16. A possible addition would be to analyze the 12.% residual with an entropy function and add back areas that have a lower 13.% entropy, i.e. there are some correlation between the surrounding pixels. 14.%------ 15.% Code Provided By Li.J.Z 16.% Based on total-variation 17. 18.function A = ROFdenoise(Image, Theta) 19. 20.[Image_h Image_w] = size(Image); 21.g = 1; dt = 1/4; nbrOfIterations = 50; 22.Image = double(Image); 23. 24.p = zeros(Image_h,Image_w,2); 25.d = zeros(Image_h,Image_w,2); 26.div_p = zeros(Image_h,Image_w); 27. 28.for i = 1:nbrOfIterations 29. for x = 1:Image_w 30. for y = 2:Image_h-1 31. div_p(y,x) = p(y,x,1) - p(y-1,x,1); %backward difference 32. end 33. end 34. 35. for x = 2:Image_w-1 36. for y = 1:Image_h 37. div_p(y,x) = div_p(y,x) + p(y,x,2) - p(y,x-1,2); 38. end 39. end 40. 41. % Handle boundaries 42. div_p(:,1) = p(:,1,2);

小波变换图像去噪MATLAB实现

基于小波图像去噪的MATLAB 实现 一、 论文背景 数字图像处理(Digital Image Processing ,DIP)是指用计算机辅助技术对图像信号进行处理的过程。数字图像处理最早出现于 20世纪50年代,随着过去几十年来计算机、网络技术和通信的快速发展,为信号处理这个学科领域的发展奠定了基础,使得DIP 技术成为信息技术中最重要的学科分支之一。在现实生活中,DIP 应用十分广泛,医疗、艺术、军事、航天等图像处理影响着人类生活和工作的各个方面。 然而,在图像的采集、获取、编码和传输的过程中,都存在不同程度被各种噪声所“污染”的现象。如果图像被污染得比较严重,噪声会变成可见的颗粒形状,导致图像质量的严重下降。根据研究表明,当一图像信噪比(SNR)低于14.2dB 时,图像分割的误检率就高于0.5%,而参数估计的误差高于0.6%。通过一些卓有成效的噪声处理技术后,尽可能地去除图像噪声,我们在从图像中获取信息时就更容易,有利于进一步的对图像进行如特征提取、信号检测和图像压缩等处理。小波变换处理应用于图像去噪外,在其他图像处理领域都有着十分广泛的应用。本论文以小波变换作为分析工具处理图像噪声,研究数字图像的滤波去噪问题,以提高图像质量。 二、 课题原理 1.小波基本原理 在数学上,小波定义为对给定函数局部化的新领域,小波可由一个定义在有限区域的函数()x ψ来构造,()x ψ称为母小波,(mother wavelet )或者叫做基本小波。一组小波基函数,()}{,x b a ψ,可以通过缩放和平移基本小波 来生成:

())(1 ,a b x a x b a -ψ=ψ (1) 其中,a 为进行缩放的缩放参数,反映特定基函数的宽度,b 为进行平移的平移参数,指定沿x 轴平移的位置。当a=2j 和b=ia 的情况下,一维小波基函数序列定义为: ()() 1222,-ψ=ψ--x x j j j i (2) 其中,i 为平移参数,j 为缩放因子,函数f (x )以小波()x ψ为基的连续小波变换定义为函数f (x )和()x b a ,ψ的积: ( )dx a b x a x f f x W b a b a )(1)(,,,-ψ= ψ=?+∞∞- (3) 与时域函数对应,在频域上则有: ())(,ωωa e a x j b a ψ=ψ- (4) 可以看出,当|a|减小时,时域宽度减小,而频域宽度增大,而且()x b a ,ψ的窗口中心向|ω|增大方向移动。这说明连续小波的局部是变化的,在高频时分辨率高,在低频时分辨率低,这便是它优于经典傅里叶变换的地方。总体说来,小波变换具有更好的时频窗口特性。 2. 图像去噪综述 所谓噪声,就是指妨碍人的视觉或相关传感器对图像信息进行理解或分析的各种因素。通常噪声是不可预测的随机信号。由于噪声影响图像的输入、采集、处理以及输出的各个环节,尤其是图像输入、采集中的噪声必然影响图像处理全过程乃至最终结果,因此抑制噪声已成为图像处理中极其重要的一个步骤。 依据噪声对图像的影响,可将噪声分为加性噪声和乘性噪声两大类。由于乘性噪声可以通过变换当加性噪声来处理,因此我们一般重点研究加性噪声。设

MATLAB图像滤波去噪分析及其应用

《MATLAB图像滤波去噪分析及其应用》,双线性滤波、Kirsch滤波、超限邻域滤波、逆滤波、双边滤波、同态滤波、小波滤波、六抽头滤波、约束最小平方滤波、非线性复扩散滤波、Lee滤波、Gabor滤波、Wiener 滤波、Kuwahara滤波、Beltrami流滤波、Lucy Richardson滤波、NoLocalMeans滤波等研究内容。 《MATLAB图像滤波去噪分析及其应用》全面而系统地讲解了MATLAB图像滤波去噪分析及其应用;结合算法理论,详解算法代码(代码全部可执行且验证通过),以帮助读者更好地学习本书内容。对于网上讨论的大部分疑难问题,本书均有涉及。 第1章图像颜色空间相互转换与MATLAB实现 1.1图像颜色空间原理 1.1.1RGB颜色空间 1.1.2YCbCr颜色空间 1.1.3YUV颜色空间 1.1.4YIQ颜色空间 1.1.5HSV颜色空间 1.1.6HSL颜色空间 1.1.7HSI颜色空间 1.1.8CIE颜色空间 1.1.9LUV颜色空间 1.1.10LAB颜色空间 1.1.11LCH 颜色空间 1.2颜色空间转换与MATLAB实现 1.2.1图像YCbCr与RGB空间相互转换及MATLAB实现 1.2.2图像YUV与RGB空间相互转换及MATLAB实现 1.2.3图像YIQ与RGB空间相互转换及MATLAB实现 1.2.4图像HSV与RGB空间相互转换及MATLAB实现 1.2.5图像HSL与RGB空间相互转换及MATLAB实现 1.2.6图像HSI与RGB空间相互转换及MATLAB实现 1.2.7图像LUV与RGB空间相互转换及MATLAB实现 1.2.8图像LAB与RGB空间相互转换及MATLAB实现 1.2.9图像LCH 与RGB空间相互转换及MATLAB实现 第2章图像噪声概率密度分布与MATLAB实现 2.1噪声概率密度分布函数 2.1.1均匀分布 2.1.2正态分布 2.1.3卡方分布 2.1.4F分布 2.1.5t分布 2.1.6Beta分布 2.1.7指数分布 2.1.8Gamma分布 2.1.9对数正态分布 2.1.10瑞利分布 2.1.11威布尔分布

基于matlab的图像去雾算法详细讲解与实现-附matlab实现源代码

基于matlab的图像去雾算法详细讲解与实现-附matlab实现源代码

本文主要介绍基于Retinex理论的雾霭天气图像增强及其实现。并通过编写两个程序来实现图像的去雾功能。 1 Rentinex理论 Retinex(视网膜“Retina”和大脑皮层“Cortex”的缩写)理论是一种建立在科学实验和科学分析基础上的基于人类视觉系统(Human Visual System)的图像增强理论。该算法的基本原理模型最早是由Edwin Land(埃德温?兰德)于1971年提出的一种被称为的色彩的理论,并在颜色恒常性的基础上提出的一种图像增强方法。Retinex 理论的基本内容是物体的颜色是由物体对长波(红)、中波(绿)和短波(蓝)光线的反射能力决定的,而不是由反射光强度的绝对值决定的;物体的色彩不受光照非均性的影响,具有一致性,即Retinex理论是以色感一致性(颜色恒常性)为基础的。 根据Edwin Land提出的理论,一幅给定的图像S(x,y)分解成两幅不同的图像:反射物体图像R(x,y)和入射光图像L(x,y),其原理示意图如图8.3-1所示。 图-1 Retinex理论示意图 对于观察图像S中的每个点(x,y),用公式可以表示为: S(x,y)=R(x,y)×L(x,y) (1.3.1)实际上,Retinex理论就是通过图像S来得到物体的反射性质R,也就是去除了入射光L的性质从而得到物体原本该有的样子。 2 基于Retinex理论的图像增强的基本步骤 步骤一: 利用取对数的方法将照射光分量和反射光分量分离,即: S'(x, y)=r(x, y)+l(x, y)=log(R(x, y))+log(L(x, y)); 步骤二:用高斯模板对原图像做卷积,即相当于对原图像做低通滤波,得到低通滤波后的图像D(x,y),F(x, y)表示高斯滤波函数: D(x, y)=S(x, y) *F(x, y); 步骤三:在对数域中,用原图像减去低通滤波后的图像,得到高频增强的图像G (x, y):

数字图像去噪典型算法及matlab实现

图像去噪是数字图像处理中的重要环节和步骤。去噪效果的好坏直接影响到后续的图像处理工作如图像分割、边缘检测等。图像信号在产生、传输过程中都可能会受到噪声的污染,一般数字图像系统中的常见噪声主要有:高斯噪声(主要由阻性元器件内部产生)、椒盐噪声(主要是图像切割引起的黑图像上的白点噪声或光电转换过程中产生的泊松噪声)等; 目前比较经典的图像去噪算法主要有以下三种: 均值滤波算法:也称线性滤波,主要思想为邻域平均法,即用几个像素灰度的平均值来代替每个像素的灰度。有效抑制加性噪声,但容易引起图像模糊,可以对其进行改进,主要避开对景物边缘的平滑处理。 中值滤波:基于排序统计理论的一种能有效抑制噪声的非线性平滑滤波信号处理技术。中值滤波的特点即是首先确定一个以某个像素为中心点的邻域,一般为方形邻域,也可以为圆形、十字形等等,然后将邻域中各像素的灰度值排序,取其中间值作为中心像素灰度的新值,这里领域被称为窗口,当窗口移动时,利用中值滤波可以对图像进行平滑处理。其算法简单,时间复杂度低,但其对点、线和尖顶多的图像不宜采用中值滤波。很容易自适应化。 Wiener维纳滤波:使原始图像和其恢复图像之间的均方误差最小的复原方法,是一种自适应滤波器,根据局部方差来调整滤波器效果。对于去除高斯噪声效果明显。 实验一:均值滤波对高斯噪声的效果 代码 I=imread('C:\Documents and Settings\Administrator\桌面\1.gif');%读取图像 J=imnoise(I,'gaussian',0,0.005);%加入均值为0,方差为0.005的高斯噪声 subplot(2,3,1);imshow(I); title('原始图像'); subplot(2,3,2); imshow(J); title('加入高斯噪声之后的图像'); %采用MATLAB中的函数filter2对受噪声干扰的图像进行均值滤波 K1=filter2(fspecial('average',3),J)/255; %模板尺寸为3 K2=filter2(fspecial('average',5),J)/255;% 模板尺寸为5

根据Matlab的图像去噪算法仿真

基于Matlab的图像去噪算法仿真 在信息化的社会里,图像在信息传播中所起的作用越来越大。所以,消除在图像采集和传输过程中而产生的噪声,保证图像受污染度最小,成了数字图像处理领域里的重要部分。 本文主要研究分析邻域平均法、中值滤波法、维纳滤波法及模糊小波变换法的图像去噪算法。首先介绍图像处理应用时的常用函数及其用法;其次详细阐述了四种去噪算法原理及特点;最后运用Matlab软件对一张含噪图片(含高斯噪声或椒盐噪声)进行仿真去噪,通过分析仿真结果得出: 一.均值滤波是典型的线性滤波,对高斯噪声抑制是比较好的; 二.中值滤波是常用的非线性滤波方法,对椒盐噪声特别有效; 三.维纳滤波对高斯噪声有明显的抑制作用; 四.对小波系数进行阈值处理可以在小波变换域中去除低幅值的噪声和不期望的信号。 本论文主要是从两方面展开,首先是图像去噪算法:简要说明了图像噪声的概念及分类,详细阐述了邻域平均法、中值滤波法、维纳滤波法及模糊小波变换法的去噪原理及特点。 其次是基于Matlab的图像去噪算法仿真:根据邻域平均法、中值滤波法、维纳滤波法及模糊小波变换法原理分析,运用Matlab仿真软件编写代码,对一张含噪图片(含高斯噪声或椒盐噪声)进行仿真去噪,并对结果分析讨论,比较几种方法的优缺点。 本论文仿真时选取一张彩色图片“2010-03-09-2.bmp”,并在图片中加入

两种噪声:高斯噪声和椒盐噪声。所谓高斯噪声是指它的概率密度函数服从高斯分布的一类噪声。椒盐噪声是由图像传感器、传输信道、解码处理等产生的黑白相间的亮暗点噪声,属于非平稳噪声。本章利用Matlab软件对含噪图像的去噪算法进行仿真,将应用邻域平均法、中值滤波法、维纳滤波法和模糊小波变换法对含有高斯噪声和椒盐噪声图像的去噪效果进行比较,从而得到相应结论。 1.1邻域平均法的仿真 本节选用邻域平均法对含有高斯噪声和椒盐噪声的图片进行去噪,并用Matlab软件仿真。 (1)给图像加入均值为0,方差为0.02的高斯噪声,选择3×3模板去噪Matlab部分代码: j=imnoise(x,'gaussian',0,0.02); h=ones(3,3); h=h/9; k=conv2(j,h); 仿真结果如图4-1所示。

matlab图像去噪程序

function varargout = jiemian(varargin) %返回从函数jiemian.m中得到的参数中变量的数目;传递一个参数中变量的数目给函数jiemian.m。 % JIEMIAN Application M-file for jiemian.fig % FIG = JIEMIAN launch jiemian GUI. % JIEMIAN('callback_name', ...) invoke the named callback. % Last Modified by shijiawei v2.5 24-May-2014 02:45:18 if nargin == 0 % LAUNCH GUI %nargin 显示输入变量 fig = openfig(mfilename,'reuse'); %打开包含在FIG文件filename.fig中的图形,确保它是可见的并且完全定位在屏幕上。 % Generate a structure of handles to pass to callbacks, and store it. handles = guihandles(fig); %返回一个结构,它包含图像中对象的句柄 guidata(fig, handles); %将变量handles存储到fig文件中 if nargout > 0 %如果输出变量大于0 varargout{1} = fig; %返回fig end elseif ischar(varargin{1}) % INVOKE NAMED SUBFUNCTION OR CALLBACK %如果varargin{1}是一个字符数组则返回逻辑真(1),否则返回逻辑假(0)。 try if (nargout) %显示用户提供的输出变量的个数 [varargout{1:nargout}] = feval(varargin{:}); % FEVAL switchyard %varargout传递参数中的变量数目else feval(varargin{:}); % FEVAL switchyard %**feval函数的求值 end catch %如果出错开始执行catch块 disp(lasterr); %%%% lasterr函数查询出错原因。如果函数lasterr的运行结果为一个空串,则表明组命令1被成功执行了 %%%% disp 显示矩阵和文字内容 end end %| ABOUT CALLBACKS: %| GUIDE automatically appends subfunction prototypes to this file, and %| sets objects' callback properties to call them through the FEVAL %| switchyard above. This comment describes that mechanism. %| %| Each callback subfunction declaration has the following form: %| (H, EVENTDATA, HANDLES, VARARGIN) %| %| The subfunction name is composed using the object's Tag and the %| callback type separated by '_', e.g. 'slider2_Callback', %| 'figure1_CloseRequestFcn', 'axis1_ButtondownFcn'.

相关文档
最新文档