当前位置:文档之家› matlab 图像的空域滤波

matlab 图像的空域滤波

matlab 图像的空域滤波
matlab 图像的空域滤波

实验四图像的空域滤波

一、实验目的

1、理解图像滤波的基本定义及目的;

2、掌握空域滤波的基本原理及方法;

3、掌握用MA TLAB语言进行图像的空域滤波的方法。

1、读出“girl.bmp”这幅图像。给读出的图像加入高斯噪声。

2、分别采用不同大小的模板对加有噪声的图像进行均值滤波,用一个图像处理对话框

显示原图像、加有噪声的图像及均值滤波的图像。比较结果。

二、实验原理

1、均值滤波

2、中值滤波

MATLAB图像处理工具箱提供了基于卷积的图像滤波函数filter2。filter2的语法格式为:Y = filter2(h, X)

其中Y = filter2(h,X)返回图像X经算子h滤波后的结果,默认返回图像Y与输入图像X大小相同。

其实filter2和conv2是等价的。MA TLAB在计算filter2时先将卷积核旋转180度,再调用conv2函数进行计算。

fspecial函数用于创建预定义的滤波算子,其语法格式为:

h = fspecial(type)

h = fspecial(type, parameters)

参数type指定算子类型,parameters指定相应的参数,具体格式为:

type='average',为均值滤波,参数parameters为n,代表模版尺寸,用向量表示,默认值为[3,3]。

type= 'gaussian',为高斯低通滤波器,参数parameters有两个,n表示模版尺寸,默认值为[3,3],sigma表示滤波器的标准差,单位为像素,默认值为0.5。

type= 'laplacian',为拉普拉斯算子,参数parameters为alpha,用于控制拉普拉斯算子的形状,取值范围为[0,1],默认值为0.2。

type= 'log',为拉普拉斯高斯算子,参数parameters有两个,n表示模版尺寸,默认值为[3,3],sigma为滤波器的标准差,单位为像素,默认值为0.5

type= 'prewitt',为prewitt算子,用于边缘增强,无参数。

type= 'sobel',为著名的sobel算子,用于边缘提取,无参数。

type= 'unsharp',为对比度增强滤波器,参数alpha用于控制滤波器的形状,范围为[0,1],默认值为0.2。

三、实验要求

1、读出“girl.bmp”这幅图像。给读出的图像加入高斯噪声。

2、分别采用不同大小的模板对加有噪声的图像进行均值滤波,用一个图像处理对话框显示

原图像、加有噪声的图像及均值滤波的图像。比较结果。

A=imread('C:\Documents and Settings\Administrator\桌面\数字图像实验实验

\girl.bmp', 'bmp');

B=imnoise(A, 'gaussian', 0.02);

subplot(2,2,1), imshow(A), title('原图像');

subplot(2,2,2), imshow(B), title('加噪声图像');

C=fspecial('average', 3);

D=filter2(C, B);

E=fspecial('average', 5);

F=filter2(E, B);

subplot(2,2,3), imshow(D,[]), title('3乘3模板');

subplot(2,2,4), imshow(F,[]), title('5乘5模板');

3、分别采用不同大小的模板对加有噪声的图像进行中值滤波,用一个图像处理对话框显示

原图像、加有噪声的图像及中值滤波的图像。比较结果。

A=imread('C:\Documents and Settings\Administrator\桌面\数字图像实验实验

\girl.bmp', 'bmp');

B=imnoise(A, 'gaussian', 0.02);

subplot(2,2,1), imshow(A), title('原图像');

subplot(2,2,2), imshow(B), title('加噪声图像');

C=medfilt2(B, [3,3]);

D=medfilt2(B, [5,5]);

subplot(2,2,3), imshow(C), title('3乘3模板');

subplot(2,2,4), imshow(D), title('5乘5模板');

4、采用大小相同的模板对加有噪声的图像分别进行均值滤波和中值滤波,用一个图像处理

对话框显示原图像、加有噪声的图像、均值滤波的图像及中值滤波的图像。比较结果。

A=imread('C:\Documents and Settings\Administrator\桌面\数字图像实验实验\girl.bmp',

'bmp');

B=imnoise(A, 'gaussian', 0.02);

subplot(2,2,1), imshow(A), title('原图像');

subplot(2,2,2), imshow(B), title('加噪声图像');

C=fspecial('average', 3);

D=filter2(C, B);

subplot(2,2,3), imshow(D,[]), title('均值滤波');

E=medfilt2(B, [3,3]);

subplot(2,2,4), imshow(E), title('中值滤波');

5、给图像加入不同类型的噪声,重复均值滤波和中值滤波,比较结果。

A=imread('C:\Documents and Settings\Administrator\桌面\数字图像实验实验\girl.bmp',

'bmp');

B= imnoise(A,'salt & pepper',0.02);

subplot(2,2,1), imshow(A), title('原图像');

subplot(2,2,2), imshow(B), title('加椒盐噪声图像');

C=fspecial('average', 3);

D=filter2(C, B);

subplot(2,2,3), imshow(D,[]), title('均值滤波');

E=medfilt2(B, [3,3]);

subplot(2,2,4), imshow(E), title('中值滤波');

6、(选做内容)不调用工具箱的函数,自编程序,实现均值滤波和中值滤波。

均值滤波(3乘3模板):

A=imread('C:\Documents and Settings\Administrator\桌面\数字图像实验实验

\girl.bmp', 'bmp');

F=imnoise(A, 'gaussian', 0.02);

f=double(F);

[m,n]=size(f);

g=f;

for i=2:m-1

for j=2:n-1

g(i,j)=round(1/9*(f(i-1,j-1)+f(i-1,j)+f(i-1,j+1)+f(i,j-1)+f(i,j)+f(i,j+1)+f(i+1,

j-1)+f(i+1,j)+f(i+1,j+1)));

end

end

G=uint8(g);

subplot(1,3,1), imshow(A), title('原图像');

subplot(1,3,2), imshow(B), title('加噪声图像');

subplot(1,3,3), imshow(G,MAP), title('均值滤波图像');

中值滤波:

clear;

I=imread('C:\Documents and Settings\Administrator\桌面\数字图像实验实验\girl.bmp',

'bmp');

x=imnoise(I,'gaussian',0.02);

n=3;

m=n^2;

h=zeros(1,m);

[a,b]=size(x);

x1=double(x);

g1=x1;

s1=x1;

for i=(n+1)/2:a-(n+1)/2

for j=(n+1)/2:b-(n+1)/2

s1(i,j)=median(sort(reshape(x1(i-(n-1)/2:i+(n-1)/2,j-(n-1)/2:j+(n-1)/ 2),1,[])));

end

end

g=uint8(g1);

s=uint8(s1);

subplot(1,3,1),imshow(I),title('原图像');

subplot(1,3,2),imshow(x),title('加高斯噪声的图像');

subplot(1,3,3),imshow(s,[]),title('中值滤波后的图像');

实验五 图像增强 空域滤波

计算机与信息工程学院综合性、设计性实验报告 一、 实验目的 1、进一步了解MatLab 软件 /语言,学会使用MatLab 对图像作滤波处理,掌握滤波算法,体会滤波效果。 2、了解几种不同滤波方式的使用和使用的场合,培养处理实际图像的能力。 二、实验设备与软件 1、 IBM-PC 计算机系统; 2、 MatLab 软件/语言包括图像处理工具箱(Image Processing Toolbox); 3、 实验所需要的图片。 三、实验要求 1、完成对于给定图像+噪声,使用平均滤波器、中值滤波器对不同强度的高斯噪声和椒盐噪声进行滤波处理; 2、能够正确地评价处理的结果; 3、能够从理论上作出合理的解释。 四、实验内容与步骤 1、调入并显示原始图像Sample2-1.jpg 。 2、 利用imnoise 命令在图像Sample2-1.jpg 上加入高斯(gaussian) 噪声 3、利用预定义函数fspecial 命令产生平均(average)滤波器 111191111---????--????---? ?

4、分别采用3x3和5x5的模板,分别用平均滤波器以及中值滤波器,对加入噪声的图像进行处理并观察不同噪声水平下,上述滤波器处理的结果; 5、选择不同大小的模板,对加入某一固定噪声水平噪声的图像进行处理,观察上述滤波器处理的结果。 6、利用imnoise 命令在图像Sample2-1.jpg 上加入椒盐噪声(salt & pepper) 7、重复3)~ 5)的步骤 8、输出全部结果并进行讨论。 M文件如下: I=imread('electric.tif'); %J = imnoise(I,'gauss',0.02); %添加高斯噪声 J = imnoise(I,'salt & pepper',0.02); %(注意空格) %添加椒盐噪声ave1=fspecial('average',3); %产生3×3的均值模版 ave2=fspecial('average',5); %产生5×5的均值模版 K = filter2(ave1,J)/255; %均值滤波3×3 L = filter2(ave2,J)/255; %均值滤波5×5 M = medfilt2(J,[3 3]); %中值滤波3×3模板 N = medfilt2(J,[4 4]); %中值滤波4×4模板 imshow(I);title('原图像'); figure,imshow(J);title('添加"高斯"噪声后的图像'); %figure,imshow(J);title('添加"椒盐"噪声后的图像'); figure,imshow(K);title('均值滤波3×3'); figure,imshow(L);title('均值滤波5×5'); figure,imshow(M);title('中值滤波3×3模板'); figure,imshow(N);title('中值滤波4×4模板'); 说明:运行时分两次进行,第一次观察高斯噪声把相应的椒盐噪声注释掉,如上面所示,第二次观察椒盐噪声时把相应的高斯噪声注释掉。 运行结果: 1、高斯噪声:

空域图像增强报告

实验报告 实验课程:光电图像处理姓名: 学号: 实验地点: 指导老师: 实验时间:

一. 实验名称:空间图象增强(一) 二. 实验目的 1. 熟悉和掌握利用matlab 工具进行数字图像的读、写、显示、像素处理等数字图像处理的基本步骤和流程。 2. 熟练掌握各种空间域图像增强的基本原理及方法。 3. 熟悉通过灰度变换方式进行图像增强的基本原理、方法和实现。 4. 熟悉直方图均衡化的基本原理、方法和实现。 三. 实验原理 (一)数字图像的灰度变换 1、线性灰度变换 令原图像灰度范围由[a,b]线性变换后图像灰度范围[c,d],以便于提升原图像的对比度。线性灰度变换公式如下: ()(,),[(,)](,)(,)d f x y b d c g x y f x y a c a f x y b b a c f x y a >??-?=-+≤≤?-?

对图像2种定义下的直方图统计统计,并分别画出两种定义下的直方图。直方图均衡化主要用于增强动态范围偏小的图像的反差。该方法的基本思想是把原始的直方图变换为均匀分布的形状,这样就增加了像素灰度值的动态范围,从而达到增强图像整体对比度的效果。 四. 实验步骤 (一)数字图像的灰度变换 1、线性灰度变换 1)读取一幅对比度低的灰度图像并显示。 2)以m 文件形式编写matlab 代码,实现数字图像的灰度范围由[a,b]到[c,d]的线性拉伸,以便于提升原图像的对比度。线性灰度变换公式如下: ()(,),[(,)](,)(,)d f x y b d c g x y f x y a c a f x y b b a c f x y a >??-?=-+≤≤?-?

实验四 图像增强和滤波实验

实验四图像增强和滤波实验 一.实验目的: 掌握基本的图像增强方法,观察图像增强的效果,加深对灰度直方图的理解。掌握基本的图像滤波方法,观察图像滤波的效果。 二.实验内容:对比度增强,灰度变换,直方图均衡化,图像滤波对给定的灰度的数字图像(图像文件名分别为cameraman.tif,rice.tif和pout.tif)进行如下处理: (1)统计原图像的灰度直方图,并利用直方图均衡化处理进行图像增强, 同屏显示处理前后图像及其灰度直方图,比较异同,并回答数字图像均衡化后其直方图分布情况。 (2)利用图像调整函数(直接灰度调整方法)进行图像增强,同屏显示处理前后图像及其灰度直方图,比较异同,并回答数字图像均衡化后其直方图分布情况。

(3)利用函数IMNOISE ,在图像(LENA256.BMP )上分别叠加高斯噪声(gaussian)和椒盐噪声(salt&peppers),对比高斯低通滤波器和均值滤波器的性能。 对上述实验内容,自己创造性地设计实验,得出有意义的结论。 (a)原始图像 (b )原始直方图 (c)均衡化后的直方图 (d )均衡化后的图像

图叠加高斯噪声图图叠加椒盐噪声图 三.实验中用到的函数: 1.图像直方图可用函数imhist创建; 2.直方图均衡化(histogram equalization)函数:histeq; 可以实现强度值调整的自动完成 3.图像调整函数:imadjust; 强度(灰度)调整技术是将图像的强度值映射为一个新的数值范围中的一种方法。 4.Subplot函数:在同一窗口里同时显示几副图时,用来划分窗口的函数5.图像中加入噪声函数imnoise IMNOISE Add noise to image. J = IMNOISE(I,TYPE,...) Add noise of a given TYPE to the intensity image I. TYPE is a string that can have one of these values: 'gaussian' Gaussian white noise with constant mean and variance

中值滤波原理及MATLAB实现.

中值滤波原理及MATLAB实现 摘要:图像是一种重要的信息源,通过图像处理可以帮助人们了解信息的内涵。本文将纯净的图像加入椒盐噪声,然后采用中值滤波的方法对其进行去噪。中值滤波是一种常用的非线性信号处理技术,在图像处理中,它对滤除脉冲干扰噪声最为有效。文章阐述了中值滤波的原理、算法以及在图像处理中的应用。MATLAB是一种高效的工程计算语言,在数据处理、图像处理、神经网络、小波分析等方面都有广泛的应用。 关键词:图像,中值滤波,去噪,MATLAB 1. 引言 20世纪20年代,图像处理首次得到应用。上个世纪60年代中期,随着计算机科学的发展和计算机的普及,图像处理得到广泛的应用。60年代末期,图像处理技术不断完善,逐渐成为一个新兴的学科。图像处理中输入的是质量低的图像,输出的是改善质量后的图像。 为了改善图像质量,从图像中提取有效信息,必须对图像进行去噪预处理。根据噪声频谱分布的规律和统计特征以及图像的特点,出现了多种多样的去噪方法。经典的去噪方法有:空域合成法,频域合成法和最优合成法等,与之适应的出现了许多应用方法,如均值滤波器,中值滤波器,低通滤波器,维纳滤波器,最小失真法等。这些方法的广泛应用,促进数字信号处理的极大发展,显著提高了图像质量。 2. 中值滤波 在图像滤波中,常用的方法是线性滤波技术和非线性滤波技术,线性滤波以其完美的理论基础,数学处理简单、易于采用和硬件实现等优点,一直在图像滤波领域中占有重要的地位。线性滤波对加性高斯噪声有较好的平滑作用,但对脉冲信号和其它形式的高频分量抑制效果较差,且模糊信号边缘。非线性滤波是基于对输入信号序列的一种非线性投影关系,常把某一特定的噪声近似为零而保留信号的重要特征,一定程度上克服线性滤波器的不足,非线性滤波早期运用较多的是中值滤波器,其应用于多维信号处理时,对窄脉冲信号具有良好的抑制能力,但

实验图像的滤波增强处理

实验图像的滤波增强处理 实验目的 1了解空域增强的基本原理 2掌握平滑滤波器和锐化滤波器的使用 3掌握图像中值滤波增强的使用 4了解频域增强的基本原理 5掌握低通滤波器和高通滤波器的使用实验原理 1.空域增强 空域滤波是在图像空间中借助模板对图像进行领域操作,处理图像每一个像素的取值都是根据模板对输入像素相应领域内的像素值进行计算得到的。空域滤波基本上是让图像在频域空间内某个范围的分量受到抑制,同时保证其他分量不变,从而改变输出图像的频率分布,达到增强图像的目的。 空域滤波一般分为线性滤波和非线性滤波两类。线性滤波器的设计常基于对傅立叶变换的分析,非线性空域滤波器则一般直接对领域进行操作。各种空域滤波器根据功能主要分为平滑滤波器和锐化滤波器。平滑可用低通来实现,平滑的目的可分为两类:一类是模糊,目的是在提取较大的目标前去除太小的细节或将目标内的小肩端连接起来;另一类是消除噪声。锐化可用高通滤波来实现,锐化的目的是为了增强被模糊的细节。结合这两种分类方法,可将空间滤波增强分为四类: 1)线性平滑滤波器(低通)2)非线性平滑滤波器(低通)3)线性锐化滤波器(高通) 4)非线性锐化滤波器(高通)空间滤波器都是基于模板卷积,其主要工作步骤是: 1(1)将模板在图中移动,并将模板中心与图中某个像素位置重合; 2(2)将模板上的系数与模板下对应的像素相乘; 3(3)将所有乘积相加; (4)将和(模板的输出响应)赋给图中对应模板中心位置的像素。 1.1平滑滤波器 线性低通平滑滤波器也称为均值滤波器,这种滤波器的所有系数都是正数,对3×3 的模板来说,最简单的是取所有系数为1,为了保持输出图像任然在原来图像的灰度值范围内,模板与象素邻域的乘积都要除以9。 MATLAB 提供了fspecial 函数生成滤波时所用的模板,并提供filter2 函数用指定的滤波器模板对图像进行运算。函数fspecial 的语法格式为: h=fspecial(type)

实验二空域图像增强

实验三空域图像增强 一、实验目的与要求 1、掌握灰度直方图的概念及其计算方法; 2、熟练掌握直力图均衡化和直方图规定化的计算过程; 3、熟练掌握空域滤波中常用的平滑和锐化滤波器; 4、掌握色彩直方图的概念和计算方法 5、利用MATLAB程序进行图像增强。 二、实验内容与步骤 1、图像的直方图与直方图均衡方法 a. 从硬盘加载cameraman.tif图象(using function imread). b. 显示图象. c. 显示图象的直方图(using function imhist). d. 用直方图均衡方法进行图象增强. e. 对处理后的图象显示其直方图. f. 比较图象的质量并且进行讨论. 代码如下: I=imread(‘原图像名.gif); % 读入原图像 J=histeq(I); %对原图像进行直方图均衡化处理 Imshow(I); %显示原图像 Title(‘原图像’); %给原图像加标题名 Figure;imshow(J); %对原图像进行屏幕控制;显示直方图均衡化后的图像 Title(‘直方图均衡化后的图像’) ; %给直方图均衡化后的图像加标题名 Figure; subplot(1,2,1) ;%对直方图均衡化后的图像进行屏幕控制;作一幅子图作为并排两幅图的第1幅图 Imhist(I,64); %将原图像直方图显示为64级灰度 Title(‘原图像直方图’) ; %给原图像直方图加标题名 Subplot(1,2,2); %作第2幅子图 Imhist(J,64) ; %将均衡化后图像的直方图显示为64级灰度 Title(‘均衡变换后的直方图’) ; %给均衡化后图像直方图加标题名 从处理前后的图像可以看出,许多在原始图像中看不清楚的细节在直方图均衡化处理后所得到的图像中都变得十分清晰。 2、对图象加入躁声,改变噪声参数(均值、方差或比例),比较其影响。使用3x3或7x7的均值滤波器、中值滤波器对不同强度的高斯噪声和椒盐噪声,进行滤波处理;能够正确地评价处理的结果;能够从理论上作出合理的解释。相关程序: I=imread('electric.tif'); J = imnoise(I,'gauss',0.05,0.02); %添加均值为0.05,方差为0.02的高斯噪声%J = imnoise(I,'salt& pepper',0.02); %添加2%像素被污染的椒盐噪声 ave1=fspecial('average',3); %产生3×3的均值模版ave2=fspecial('average',7); %产生7×7的均值模版

基于Matlab的常用滤波算法研究(含代码)讲解

毕业设计(论文) UNDERGRADUATE PROJECT (THESIS) 题目: 冲击测试常用滤波算法研究 学院 专业 学号 学生姓名 指导教师 起讫日期

目录 摘要 (2) ABSTRACT (3) 第一章绪论 (4) 1.1课题背景 (4) 1.2国内外相关领域的研究 (4) 1.3主要研究内容与创新 (5) 1.3.1研究内容与意义 (5) 1.3.2课题的创新点 (5) 1.3.3 研究目的与技术指标 (6) 第二章数字滤波基础 (7) 2.1数字滤波算法概念 (7) 2.2数据采样与频谱分析原理 (8) 2.2.1 时域抽样定理 (8) 2.2.2 离散傅立叶变换(DFT) (8) 2.2.3 快速傅立叶变换(FFT) (9) 2.2.4 频谱分析原理 (9) 2.3常用数字滤波算法基础 (10) 2.3.1常用数字滤波算法分类 (10) 2.3.2常用数字滤波算法特点 (11) 2.3.3常用滤波算法相关原理 (13) 2.4 冲击测试采样数据 (16) 2.4.1噪声的特点与分类 (16) 2.4.2冲击测试采样数据特点 (17) 2.5 MATLAB简介 (17) 2.5.1 MATLAB功能简介 (18) 2.5.2 MATLAB的发展 (18) 第三章、冲击测试滤波算法设计及滤波效果分析 (20) 3.1 冲击测试采样数据的分析 (20) 3.2 滤波算法设计及效果分析 (21) 3.2.1 中位值平均法的设计 (21) 3.2.2限幅法和限速法的设计 (23) 3.2.3一阶滞后法的设计 (25) 3.2.4低通法的设计 (26) 第四章结论与展望 (34) 4.1冲击测试的滤波算法总结 (34) 4.2冲击测试的滤波算法展望 (34) 致谢 (36) 参考文献 (37) 附录:程序代码清单 (38)

图像增强—空域滤波实验报告

图像增强—空域滤波实验报告 篇一:5.图像增强—空域滤波 - 数字图像处理实验报告计算机与信息工程学院验证性实验报告 一、实验目的 进一步了解MatLab软件/语言,学会使用MatLab对图像作滤波处理,使学生有机会掌握滤波算法,体会滤波效果。 了解几种不同滤波方式的使用和使用的场合,培养处理实际图像的能力,并为课堂教学提供配套的实践机会。 二、实验要求 (1)学生应当完成对于给定图像+噪声,使用平均滤波器、中值滤波器对不同强度的高斯噪声和椒盐噪声,进行滤波处理;能够正确地评价处理的结果;能够从理论上作出合理的解释。 (2)利用MATLAB软件实现空域滤波的程序:I=imread('electric.tif'); J = imnoise(I,'gauss',0.02); %添加高斯噪声 J = imnoise(I,'salt & pepper',0.02); %添加椒盐噪声ave1=fspecial('average',3); %产生3×3的均值模版ave2=fspecial('average',5); %产生5×5的均值模版 K = filter2(ave1,J)/255; %均值滤波3×3 L = filter2(ave2,J)/255; %均值滤波5×5 M = medfilt2(J,[3 3]);%中值滤波3×3模板 N = medfilt2(J,[4 4]); %中值

滤波4×4模板 imshow(I); figure,imshow(J); figure,imshow(K); figure,imshow(L); figure,imshow(M); figure,imshow(N); 三、实验设备与软件 (1) IBM-PC计算机系统 (2) MatLab软件/语言包括图像处理工具箱(Image Processing Toolbox) (3) 实验所需要的图片 四、实验内容与步骤 a) 调入并显示原始图像Sample2-1.jpg 。 b) 利用imnoise 命令在图像Sample2-1.jpg 上加入高斯(gaussian) 噪声 c)利用预定义函数fspecial 命令产生平均(average)滤波器 ??1?1?1???19?1?????1?1?1?? ? d)分别采用3x3和5x5的模板,分别用平均滤波器以及中值滤波器,对加 入噪声的图像进行处理并观察不同噪声水平下,上述滤波器处理的结果; e)选择不同大小的模板,对加入某一固定噪声水平噪声的图像进行处理,观察上述滤波器处理的结果。 f)利用imnoise 命令在图像Sample2-1.jpg 上加入椒盐噪声(salt & pepper) g)重复c)~ e)的步骤 h)输出全部结果并进行讨论。

空域图像增强实验报告

一、实验名称:空域图像增强 二、实验目的:掌握Matlab语言图像工具箱中空域图像增强的实现 三、实验要求: 在掌握图像灰度调整、直方图修正和图像锐化的指令基础上,编写程序实现图像的灰度变换,直方图均衡和图像锐化的处理 四、实验仪器和设备:计算机,Matlab软件 五、实验原理: 1、亮度变换S=T(r)点对点的变换(灰度级对灰度级的变换)matlab函数:imadjust() 亮度变换的基本函数g=imadjust(f,[low in high in],[low out high out],gamma); low in and high in 参数分别指定输入图像需要映射的灰度空间范围,low out 和high out 参数分别指定输出图像所在的灰度范围。GAMMA表示曲线的形状,描述输入输出图像之间的关系。如果GAMMA小于1,则映射的权重趋势向更亮输出,如果GAMMA大于1,则趋向更暗的输出。默认值为1。 2、直方图均衡化 直方图是多种空间域处理技术的基础,能有效用于图像增强,是实时图像处理的流行工具,直方图均衡化的目的是使图像在整个灰度值动态变化范围内分布均匀化,改善图像的亮度分布状态,增强视觉效果。直方图均衡化是通过灰度变换将一幅图像转换程另一幅具有均衡性的直方图。即在每个灰度级上都具有相同的像素点数的过程。 3、空域滤波 手工滤波与函数提供滤波器的比较 六、实验步骤: 1、将待处理图片拷到matlab软件’work’文件夹 2、实行亮度变换 3、对图像进行直方图均衡处理 4、空域滤波 5、记录实验结果并分析 七、实验程序及结果记录: 1、亮度变换 I=imread(‘E:\fig308.tif’); Imshow(I); Figure,imhist(I); J=imadjust(I,[0.5 0.9],[0,1]); Figure; imshow(J); Figure; imhist(J) 2、直方图均衡化 I=imread(‘E:\fig308.tig’); J=histea(I); Imshow(I); Title(‘原图像’); Figure; Imshow(J); Title(‘直方图均衡化后的图像’);

实验四图像增强

信息工程学院实验报告 课程名称:数字图像处理Array 实验项目名称:实验四图像增强实验时间:2016.11.08 班级::学号: 一、实验目的 1.了解图像增强的目的及意义,加深对图像增强的感性认识,巩固所学理论知识。 2. 掌握图像空域增强算法的基本原理。 3. 掌握图像空域增强的实际应用及MATLAB实现。 4. 掌握频域滤波的概念及方法。 5. 熟练掌握频域空间的各类滤波器。 6.掌握怎样利用傅立叶变换进行频域滤波。 7. 掌握图像频域增强增强的实际应用及MATLAB实现。 二、实验步骤及结果分析 1. 基于幂次变换的图像增强 程序代码: clear all; close all; I{1}=double(imread('fig534b.tif')); I{1}=I{1}/255; figure,subplot(2,4,1);imshow(I{1},[]);hold on I{2}=double(imread('room.tif')); I{2}=I{2}/255; subplot(2,4,5);imshow(I{2},[]);hold on for m=1:2 Index=0; for lemta=[0.5 5] Index=Index+1; F{m}{Index}=I{m}.^lemta; subplot(2,4,(m-1)*4+Index+1),imshow(F{m}{Index},[]) end end 执行结果:

图1 幂次变换增强结果 实验结果分析: 由实验结果可知,当r<1时,黑色区域被扩展,变的清晰;当r>1时,黑色区域被压缩,变的几乎不可见。 2.直方图规定化处理 程序代码: clear all clc close all %0.读图像 I=double(imread('lena.tiff')); subplot(2,4,1); imshow(I,[]); title('原图') N=32; Hist_image=hist(I(:),N); Hist_image=Hist_image/sum(Hist_image); Hist_image_cumulation=cumsum(Hist_image);%累 计直方图 subplot(245); stem(0:N-1,Hist_image); title('原直方图'); %1.设计目标直方图 Index=0:N-1; %正态分布直方图 Hist{1}=exp(-(Index-N/2).^2/N); Hist{1}=Hist{1}/sum(Hist{1}); Hist_cumulation{1}=cumsum(Hist{1}); subplot(242); title('规定化直方图1'); %倒三角形状直方图 Hist{2}=abs(2*N-1-2*Index); Hist{2}=Hist{2}/sum(Hist{2}); Hist_cumulation{2}=cumsum(Hist{2}); subplot(246); stem(0:N-1,Hist{2}); title('规定化直方图2'); %2. 规定化处理 Project{1}=zeros(N); Project{2}=zeros(N); Hist_result{1}=zeros(N); Hist_result{2}=zeros(N); for m=1:2 Image=I; %SML处理(SML,Single Mapping Law单映射规则 for k=1:N Temp=abs(Hist_image_cumulation(k)-Hist_cumulati on{m}); [Temp1,Project{m}(k)]=min(Temp); end %2.2 变换后直方图 for k=1:N

matlab实现中值滤波去除脉冲噪声matlab小程序

matlab实现中值滤波去除脉冲噪声matlab小程序(图像处理)2010-04-1612:58:44阅读8评论0字号:大中小 实验原理:中值滤波器是将领域内像素灰度的中值代替该像素的值,对处理脉冲噪声(椒盐噪声)非常有效。为了对一幅图像上的某个点进行中值滤波处理,必须先将掩模内欲求的像素及其领域的像素值排序,确定出中值,主要功能是使拥有不同灰度的点看起来更接近于它的邻近值。 程序说明:函数名为mid(pic_name,s)的函数,其中参数pic_name为读入的图像,s为掩模矩阵的边长,由用户自行决定。 实验说明:随着掩模矩阵的变大,我们可以看到脉冲噪声去除得更加理想,但同时图像会变得更模糊,因为各点像素与其邻域更为接近,因此,进行中值滤波时选择一个适合的掩模矩阵十分重要。另外,我们看到图像的边界处出现了黑色的斑点,这是由于我采用了0来直译边界,这种影响可用镜像反射方式对称地沿其边界扩展来减弱。 另附:其实本实验可以完全由matlab中的函数median或medfilt2简单实现,此处写出内部处理过程,主要是为了让大家理解中值滤波的具体处理过程。 程序源代码: function mid(pic_name,s) close all; s=double(s); X=imread(pic_name); Y1=imnoise(X,'salt&pepper',0.2);%对读入的图像加脉冲噪声 figure; imshow(uint8(Y1)); Y1=double(Y1); [m,n]=size(X); s2=round(s/2); s3=round(s*s/2);%中值像素点的位置

基于Matlab_GUI空域滤波增强的设计

经贸大学毕业论文 基于Matlab GUI空域滤波增强的设计

目录 1绪论 (1) 1.1 课题研究背景 (1) 1.2 图像去噪的研究现状 (1) 1.3 本文主要工作 (2) 第2章 Matlab简介 (3) 2.1 Matlab概况 (3) 2.1.1 Matlab发展过程 (4) 2.1.2 Matlab的语言特点 (5) 2.2 Matlab图像处理常用函数 (6) 第3章图像去噪算法 (8) 3.1 图像噪声概述 (8) 3.1.1 图像噪声的概念 (8) 3.1.2 图像噪声的分类 (8) 3.2 邻域平均法图像去噪 (9) 3.2.1 模板操作和卷积运算 (9) 3.2.2 邻域平均法原理 (11) 3.3 中值滤波法图像去噪 (12) 3.3.1 中值滤波原理 (13) 3.3.2 中值滤波主要特性 (15) 3.3.3 复合型中值滤波 (16) 3.4 维纳滤波法图像去噪 (17) 3.4.1 维纳滤波原理 (17) 3.4.2 维纳滤波器特性 (19) 第4章基于Matlab GUI的空域增强设计 (20) 4.1 Matlab GUI设计的介绍 (20) 4.2 Matlab GUI界面的操作 (20)

4.2.1 启动GUIDE (20) 4.2.2 GUI文件的介绍 (22) 4.2.3 GUIDE环境的设置 (22) 4.3 基于Matlab GUI空域增强软件平台的设计 (23) 4.3.1 启动GUIDE (23) 4.3.2 加入菜单项编辑 (24) 4.3.3 增加子菜单和布局 (24) 4.4 各种方法的仿真 (26) 4.4.1 邻域平均法的仿真 (26) 4.4.2 中值滤波的仿真 (28) 4.4.3 维纳滤波的仿真 (30) 4.4.4 几种去噪方法的比较分析 (32) 4.5 Matlab GUI软件界面处理的结果 (33) 致谢 (35) 参考文献 (35) 摘要 在许多情况下图像信息会受到各种各样噪声的影响,严重时会影响

实验四 空域滤波增强

实验报告 课程名称数字图像处理实验名称空域滤波增强 姓名__吴征宇学号____ 3101110002 专业班级_ J计算机1001 实验日期__2013_ 年_5 _月_29 日成绩_____ __ 指导教师___ _ 实验四空域滤波增强 一、实验目的 1.了解空域滤波增强的Matlab实现方法; 2.掌握噪声模拟和图像滤波函数的使用方法; 3.能够将给定图像+噪声,使用均值滤波器、中值滤波器对不同强度的高斯噪声和椒盐 噪声,进行滤波处理; 4.能够正确地评价处理的结果;并从理论上作出合理的解释。 二、实验内容 1. 噪声模拟 利用函数imnoise给图像‘autumn.tif’分别添加高斯(gaussian)噪声和椒盐(salt & pepper)噪声。 I=imread('cameraman.tif'); imshow(I) I1=imnoise(I,'gaussian',0,0.01); figure,imshow(I1) I2=imnoise(I,'salt & pepper'); figure,imshow(I2)

2. 均值滤波和中值滤波 A)均值滤波 在matlab环境中,程序首先读取图像,然后调用图像增强()函数,设置相关参数,再输出处理后的图像。 I = imread('cameraman.tif'); figure,imshow(I); J=filter2(fspecial('average',3),I)/255; figure,imshow(J); B)中值滤波 在matlab环境中,程序首先读取图像,然后调用图像增强(中值滤波)函数,设置相关参数,再输出处理后的图像。

数字图像处理实验报告 空域图像增强技术

课程名称: 实验项目: 实验地点: 专业班级:学号:学生姓名: 指导教师: 2012年月日

实验一 空域图像增强技术 一、 实验目的 1结合实例学习如何在视频显示程序中增加图像处理算法; 2理解和掌握图像的线性变换和直方图均衡化的原理和应用; 3了解平滑处理的算法和用途,学习使用均值滤波、中值滤波和拉普拉斯锐化进行图像增强处理的程序设计方法; 4 了解噪声模型及对图像添加噪声的基本方法。 二、 实验原理 1 灰度线性变换就是将图像中所有点的灰度按照线性灰度变换函数进行变换。 )],([),(y x f T y x g = ?? ? ??<≤+-<≤+-≤≤=255),(]),([),( ]),([),(0 ) ,(),(y x f b g b y x f b y x f a g a y x f a y x f y x f y x g b a γβα n y m x ΛΛ,2,1 ,,,2,1== 2 直方图均衡化通过点运算将输入图像转换为在每一级上都有相等像素点数的输出图 像。按照图像概率密度函数PDF 的定义: 1,...,2,1,0 )(-== L k n n r p k k r 通过转换公式获得: 1,...,2,1,0 )()(0 -====∑∑ ==L k n n r p r T s k j k j j j r k k 3 均值(中值)滤波是指在图像上,对待处理的像素给定一个模板,该模板包括了其 周围的临近像素。将模板中的全体像素的均值(中值)来代替原来像素值的方法。 4 拉普拉斯算子如下: ???? ??????--------111181111 拉普拉斯算子首先将自身与周围的8个像素相减,表示自身与周围像素的差异,再将 这个差异加上自身作为新像素的灰度。 三、 实验步骤 1 启动MA TLAB 程序,对图像文件分别进行灰度线性变换(参考教材57页,例4.1)、直方图均衡化、均值滤波、中值滤波和梯度锐化操作。添加噪声,重复上述过程观察处理结果。 2记录和整理实验报告

数字图像处理_平均滤波与中值滤波(含MATLAB代码)

数字图像处理实验二 15生医 一、实验内容 产生教材104页题图4.18(右图)所示的二值图像(白为1,黑为0),编程实现习题4.18所要求的处理(3x3的平均滤波和中值滤波)功能(图像四周边界不考虑,处理结果按四舍五入仍取0或1),显示处理前后的图像,比较其异同。 二、运行环境 MATLAB R2014a 三、运行结果及分析 1. 四种不同的窗的3x3平均滤波 ①在 MATLAB 图形窗界面进行放大可以看出四者之间的差别: 4领域与8邻域之间没有明显差别,但是加权与未加权之间的差别较为明显,体现在: 加权后每个矩形块的四个尖角部分都被保留了下来4邻域平均滤波后图 像8邻域平均滤波后图像 4邻域加权平均滤波后图像8邻域加权平均滤波后图像

(图像四周边界不考虑),而未加权的尖角处黑色变为白色。 ②原因分析: 加权后尖角处原来白色的点(1)进行计算3/5=0.6四舍五入后值为1,保持白色,原来黑色的点(0)进行计算2/5=0.4四舍五入后值为0,保持黑色;而未加权尖角处无论原来是黑色还是白色,进行计算 2/4=0.5四舍五入后值为1,所以原先的黑色(0)也变成了白色(1)。 ③下图为放大后的截图: 2.中值滤波与原图像的对比

①在 MATLAB图形窗界面进行放大后可观察出: 使用3x3 方形中值滤波模板的效果与4领域、8领域加权平均滤波的 效果相同,每个矩形块的四个尖角部分都被保留了下来(图像四周边界不考虑)。 ②原因分析: 套用3x3方形中值滤波模板后,尖角处原来白色的点(1)在窗内1多于0,取中值后仍保持白色,原来黑色的点(0)在窗内0多于1,取中值后仍保持白色。 ③下图为放大后的截图: 原图像中值滤波后图像

实验五图像增强—空域滤波

昆明理工大学信息工程与自动化学院学生实验报告 ( 2012 —2013 学年第二学期) 课程名称:图形图像处理开课实验室:信自444 2013年 5月 22日 一、实验目的 进一步了解MatLab软件/语言,学会使用MatLab对图像作滤波处理,使学生有机会掌握滤波算法,体会滤波效果。 了解几种不同滤波方式的使用和使用的场合,培养处理实际图像的能力,并为课堂教学提供配套的实践机会。 二、实验要求 (1)学生应当完成对于给定图像+噪声,使用平均滤波器、中值滤波器对不同强度的高斯噪声和椒盐噪声,进行滤波处理;能够正确地评价处理的结果;能够从理论上作出合理的解释。 (2)利用MATLAB软件实现空域滤波的程序: I=imread('electric.tif'); J = imnoise(I,'gauss',0.02); %添加高斯噪声 J = imnoise(I,'salt & pepper',0.02); (注意空格) %添加椒盐噪声 ave1=fspecial('average',3); %产生3×3的均值模版 ave2=fspecial('average',5); %产生5×5的均值模版 K = filter2(ave1,J)/255; %均值滤波3×3 L = filter2(ave2,J)/255; %均值滤波5×5 M = medfilt2(J,[3 3]); %中值滤波3×3模板 N = medfilt2(J,[4 4]); %中值滤波4×4模板 imshow(I); figure,imshow(J); figure,imshow(K);

figure,imshow(L); figure,imshow(M); figure,imshow(N); 三、实验设备与软件 (1) IBM-PC 计算机系统 (2) MatLab 软件/语言包括图像处理工具箱(Image Processing Toolbox) (3) 实验所需要的图片 四、实验内容与步骤 a) 调入并显示原始图像Sample2-1.jpg 。 b) 利用imnoise 命令在图像Sample2-1.jpg 上加入高斯(gaussian) 噪声 c)利用预定义函数fspecial 命令产生平均(average)滤波器 111191111---????--????---? ? d )分别采用3x3和5x5的模板,分别用平均滤波器以及中值滤波器,对加入噪声的图像进行处理并观察不同噪声水平下,上述滤波器处理的结果; e )选择不同大小的模板,对加入某一固定噪声水平噪声的图像进行处理,观察上述滤波器处理的结果。 f )利用imnoise 命令在图像Sample2-1.jp g 上加入椒盐噪声(salt & pepper) g )重复c)~ e )的步骤 h )输出全部结果并进行讨论。 实验过程及截图 I=imread('3.jpg'); imshow(I);

实验三 图像的滤波及增强

实验三图像的滤波及增强 一、实验目的 1进一步了解MatLab软件/语言,学会使用MatLab对图像作滤波处理,使学生有机会掌握滤波算法,体会滤波效果。 2了解几种不同滤波方式的使用和使用的场合,培养处理实际图像的能力,并为课堂教学提供配套的实践机会。 3 熟悉傅立叶变换的基本性质; 4 熟练掌握FFT变换方法及应用; 二、实验要求 (1)学生应当完成对于给定图像+噪声,使用平均滤波器、中值滤波器对不同强度的高斯噪声和椒盐噪声,进行滤波处理;能够正确地评价处理的结果;能够从理论上作出合理的解释。 (2)利用MATLAB软件实现空域滤波的程序: I=imread('electric.tif'); J = imnoise(I,'gauss',0.02); %添加高斯噪声 J = imnoise(I,'salt& pepper',0.02); %添加椒盐噪声 ave1=fspecial('average',3); %产生3×3的均值模版 ave2=fspecial('average',5); %产生5×5的均值模版 K = filter2(ave1,J)/255; %均值滤波3×3 L = filter2(ave2,J)/255; %均值滤波5×5 M = medfilt2(J,[3 3]); %中值滤波3×3模板 N = medfilt2(J,[4 4]); %中值滤波4×4模板 imshow(I); figure,imshow(J); figure,imshow(K); figure,imshow(L); figure,imshow(M); figure,imshow(N);

中值滤波快速算法&菱形窗口matlab实现

function g=QuiMedFil2(f) g=f; t=2; [m,n]=size(f); for i=2:m-1 for j=2:n-1 if(j==2) A=f(i-1:i+1,j-1:j+1); hist=imhist(A); mdn=median(A(:)); %mdn=Med(f(i-1:i+1,j-1:j+1))+1; L=find(f(i-1:i+1,j-1:j+1)th mdn=mdn-1; Ltmdn = Ltmdn-hist(mdn+1); end

while (Ltmdn+hist(mdn+1))<=th Ltmdn=Ltmdn+hist(mdn+1); mdn=mdn+1; end g(i,j)=mdn; end end t=t+1;%t-line; end ======================================= =========================实现过程如下 rgb=imread('Figure1.JPG'); %此处通过matlab读入任何一幅图像 >> I=rgb2gray(rgb); %将图像灰度化 >> I=imresize(I,0.1); %若图像过大可进行适当调整,或省略此步 >> g=QuiMedFil2(I) %调用所编程序执行中值滤波快速算法 figure,imshow(I),figure,imshow(g) %显示原图像和滤波后的图像 =============================================================================== =================================================== 与传统中值滤波算法的同窗口的计算时间对比 快速算法略高于一般算法 =============================================================================== =====================================================菱形5*5中值滤波程序function g=MedFilRho(f) g=f; g=[]; [m,n]=size(f); for i=3:(m-2) for j=3:(n-2) B=[f(i,j),f(i-2,j),f(i-1,j),f(i+1,j),f(i+2,j),f(i,j-1),f(i,j-2),f(i,j+1),f(i,j+2),f(i-1,j-1),f(i+1,j+1),f(i-1,j+1),f(i+1,j-1)]; g(i,j)=median(B); end end 备注:程序为原创,原文地址: https://www.doczj.com/doc/1217232734.html,/walqxlqxaw/blog/item/aabb517f877e6f190dd7daad.ht ml

相关主题
文本预览
相关文档 最新文档