实验三
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二图像的增强及滤波
实验目的:掌握图象直方图增强方法及空间域平滑滤波。
实验内容:直方图增强,平滑滤波。
实验方法:
一、直方图增强
1、在matlab中打开并显示黑白灰度图象文件chest.tif 。
f=imread('chest.bmp'); %读入图像,并保存到变量f; imshow(f) % 显示图像
2、在使用imhist()绘制图像的直方图,观察原始图象的直方图;
figure,imhist(f) % 直接显示图像的直方图,
3、使用hsiteq( )对图像进行直方图均衡;
h=histeq(f);
4、显示处理后的图像,并绘制直方图,观察与原始图像的区别figure,imhist(h)
figure,imshow(h)
图1 图2
图3 图4
【实验作业】复习课本中图像直方图均衡的相关概念;掌握Matlab中图像直方图均衡函数histeq()的用法。
附:
直方图均衡函数:histeq()
用法:
J = histeq(I,n) 指定直方图均衡后的灰度级数n,默认值为64。
举例:
I = imread('tire.tif');
J = histeq(I);
imshow(I)
figure, imshow(J)
二、平滑滤波
(一)添加噪声
1、在matlab中打开并显示灰度图象文件lena.bmp。
f=imread('lena.bmp'); %读入图像,并保存到变量f;
imshow(f) % 显示原始图像如图5
lena原始图像添加5%的椒盐噪声后的图像
添加均值为0,方差为0.01的高斯白噪声图像
2、使用imnoise()给图像添加椒盐噪声;
b=imnoise(a,'salt',0.05);
figure,imshow(b)
3、使用imnoise()给图像添加高斯白噪声;
c=imnoise(a,'gaussian',0,0.01)
figure,imshow(c)
注意观察添加两种噪声以后的图像与原图像,对比两种噪声对图像的影响;
复习课本中关于图像噪声的相关概念。
(二)空间滤波
1、使用imfilter()和medfilt2()对添加椒盐噪声的图像分别均值滤波和中值滤波;
w=[0 1/5 0;1/5 1/5 1/5;0 1/5 0];%滤波器
b1=imfilter(b,w);
b2=medfilt2(b);
imshow(b1);
figure,imshow(b2);
2、使用imfilter()和medfilt2()对添加高斯白噪声噪声的图像分别均值滤波和中值滤波;
w=[0 1/5 0;1/5 1/5 1/5;0 1/5 0];
c1=imfilter(c,w);
c2=medfilt2(c);
imshow(c1);
figure,imshow(c2);
观察滤波的结果,总结均值滤波和中值滤波对椒盐噪声、高斯白噪声的滤波效果;【实验作业】掌握Matlab中空间滤波函数imfilter()和medfilt2()的用法。
附:
Imnoise()函数:
功能:模仿噪声信息,相当于图像的相加运算。
用法:J = imnoise(I,type)
J = imnoise(I,type,parameters)
参数Type对应的噪声类型如下:
'gaussian'高斯白噪声
'localvar'0均值白噪声
'poisson'泊松噪声
'salt & pepper'盐椒噪声
'speckle'乘性噪声
例子:I = imread('eight.tif');
J = imnoise(I,'salt & pepper',0.02);
%密度0.02的盐椒噪声
imshow(I)
figure, imshow(J)
imfilter()函数
功能:对任意类型数组或多维图像进行滤波。
用法:g = imfilter(f, w)
其中,f为输入图像,w为滤波掩模,g为滤波后图像。
Medfilt2()函数
功能:对任意类型数组或多维图像进行中值滤波。
用法:g=medfilt2(A,[M,N]):使用M X N 的模板读A矩阵做中值滤波其中,f为输入图像,w为滤波掩模,g为滤波后图像。