《数字图像处理试验报告全答案.docx》由会员分享,可在线阅读,更多相关《数字图像处理试验报告全答案.docx(41页珍藏版)》请在第壹文秘上搜索。
1、实验一常用MATLAB图像处理命令实验目的1、熟悉并掌握MATLAB工具的使用;2、实现图像的读取、显示、代数运算和简单变换。二、实验环境MATLAB6.5以上版本、WINXP或WIN2000计算机三、常用函数读写图像文件1 imreadimread函数用于读入各种图像文件,如:a=imreadCe:w01.tif*)2 imwriteiniwrite函数用于写入图像文件,如:imwrite(a,1e:wO2.tif1,9tif,)3 imfinfoimfinfo函数用于读取图像文件的有关信息,如:imfinfoCe:wOLtif,)图像的显示1 imageimage函数是MATLAB提供的最
2、原始的图像显示函数,如:a=l,2,3,4;4,5,6,7;8,9,10,11,121;image(a);2 imshowimshow函数用于图像文件的显示,如:i=imread(e:w01.tif,);imshow(i);title(原图像)加上图像标题3 colorbarCOlOrbar函数用显示图像的颜色条,如:i=imread(e:w01.tif,);imshow(i);coIorbar;4 figurefigure函数用于设定图像显示窗口,如:figure(1);/figure(2);5 subplot把图形窗口分成多个矩形部分,每个部分可以分别用来进行显示。Subplot(m,n,
3、P)分成m*n个小窗口,在第P个窗口中创建坐标轴为当前坐标轴,用于显示图形。6 plot绘制二维图形plot(y)Plot(x,y)Xy可以是向量、矩阵。图像类型转换1 rgb2gray灰色把真彩图像转换为灰度图像i=rgb2gray(j)2 im2bw黑白通过阈值化方法把图像转换为二值图像I=im2bw(j,level)1.eVel表示灰度阈值,取值范围01(即0.n),表示阈值取自原图像灰度范围的n%3imresize改变图像的大小I=imresize(j,mn)将图像j大小调整为In行n歹J图像运算1 imadd两幅图像相加,要求同样大小,同种数据类型Z=imadd(x,y)表示图像x+
4、y2 imsubstract两幅图像相减,要求同样大小,同种数据类型Z=imsubtract(x,y)表示图像-y3 immultiplyZ=Immultiply(x,y)表示图像x*y4 imdivideZ=imdivide(x,y)表示图像x/y5:m=iinadjust(a,10.5;1);%图像变亮n=imadjust(a,0;0.5D;%图像变暗g=255a%负片效果四、实验内容(请将实验程序填写在下方合适的位置,实验图像结果拷屏粘贴)1、读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。a=miread(f:l
5、Jpg1)i=rgb2giay(a)I=ini2bw(a,0.5)subpk)t(3,l,l);imshow(a);title(,原图像)subpk)t(3,l,2);imshow(D;titleC灰度图像)subpk)t(3,l,3);imshow(l);title(,二值图像)原图像灰度图像二值图像2、对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题。a=imtead(,f:Ljpg)A=muesize(a.800800)b=inuead(f:2.jpg)B=iniiesize(b.800800)ZI=imadd(A,B)Z2=imsubtfact
6、(A.B)Z3=inunultiply(A,B)Z4=imdivide(A,B)subplot(3,2,l);imshow(八);titleC原图像A,)subplot(3,2,2);imshow(B);titleC原图像B*)subplot(3,2,3);imshow(ZI);titleC加法图像)subplot(3,2,4);inishow(Z2)JtitIeC减法图像)subplot(3,2,5);inishow(Z3);titleC乘法图像)Subploto,2,6);imshow亿2);tiUe(除法图像)原图像A原图像加法图像减法图像乘法图像除法图像3、对一幅图像进行灰度变化,实现
7、图像变亮、变暗和负片效果,在同一个窗口内分成四个子窗口来分别显示,注上文字标题。a=miread(f:l.jpg1);m=iinadjust(a,0.5;!);%图像变亮n=imadjust(a,L,0;0.5);%图像变暗g=255a%负片效果subplot(2,2,l);inishow(a);titleC原图像*)subplot(2,2,2);imshow(m)jitleC图像变亮)Subplot(2,2,3);imshow(n)图像变暗)subpiot(2,2,4);iinshow(g);titie(A片效果)原图像图像变亮4、熟悉数字图像处理常用函数的使用,调出帮助文档查看其各种不同用
8、法。方法:选择函数(函数所在区变喑),点右键弹出菜单,,HelponSelectionM五、实验总结分析图像的代数运算结果,分别陈述图像的加、减、乘、除运算可能的应用领域。实验四常用图像增强方法一、实验目的1、熟悉并掌握MATLAB图像处理工具箱的使用;2、理解并掌握常用的图像的增强技术。二、实验环境MATLAB6.5以上版本、WINXP或WIN2000计算机三、相关知识5 imnoiseimnoise函数用于对图像生成模拟噪声,如:i=imread(,e:wOl.tif);)二防口。6。,力日1人匕壮,0,0,02);模拟均值为0方差为0.02的高斯噪声,j=imnoise(iz,saltp
9、epper,20.04)模拟叠加密度为0.04的椒盐噪声6 fspecialfspec(5)函数用于产生预定义滤波器,如:h=fspecial(sober)j%sobel水平边缘增强滤波器h=fspecial(,gaussian)j%高斯低通滤波器h=fspecial(l叩IaCian)%拉普拉斯滤波器h=fspecial(log)%高斯拉普拉斯(LoG)滤波器h=fspecial(average,)j%均值滤波器3基于卷积的图像滤波函数imflite函数,filte2函数,二维卷积COnV2滤波,都可用于图像滤波,用法类似,如:i=imread(e:w01.tif);h=l,2,l;0,0,
10、0;l,-2,I;%产生SObel算子的水平方向模板j=filter2(h,i);或者:h=fspecial(,prewitt,)I=imread(cameraman.tif,);imshow(I);H=fspecial(,prewitt*);%预定义滤波器M=imfilter(I,H);Imshow(M)或者:i=imread(,e:wOl.tif);h=h/9;j=conv2(izh);4其他常用滤波举例(1)中值滤波medfilt2函数用于图像的中值滤波,如:i=imread(e:wOl.tif);j=medfilt2(izMN);对矩阵i进行二维中值滤波,领域为M*N,缺省值为3*3(
11、2)利用拉氏算子锐化图像,如:i=imread(,e:wOl.tif);j=double(i);h=0zl,0jlz-4z0j0zlz0j%拉氏算子k=conv2(jzhsame,);三、实验步骤1、采用二维中值滤波函数medfilt2对受椒盐噪声干扰的图像滤波,窗口分别采用3*3,5*5,7*7I=imread(,fena.png,);J=imnoise(Isalt&pepperzO.O4);KI=medfilt2(Jz33);%对矩阵i进行二维中值滤波,领域为3*3K2=medfilt2(Jz55);K3=medfilt2(Jz77);5岫-1。1:(2z2,l)o1715110MVo);
12、坟心(椒盐噪声干扰图像)SUbPlOt(2,2,2,Jimshow(KI)JtitIeCW3*3二维中值滤波)subplot(2z2z3,jimshow(K2,;title(领域为5*5二维中值滤波SUbPlot(2,2,4);imshow(K3);title(领域为7*7二维中值滤波)领域为于3二维中值滤波2、采用MATLAB中的函数filter2对受噪声干扰的图像进行均值滤波椒盐噪声干扰图像I=imread(fena.png,);领域为5节二维中值滤领域为7*7二维中值滤声,M=filter2(fspecial(average,z9)zJ)255;%模板尺寸为9subplot(2J,l);
13、imshow(j)Jtitle噪声干扰图像)subplo2,lz2,;imshow(M);title(改进后的图像)噪声干扰图像改进后的图像3、采用三种不同算子对图像进行锐化处理。i=imread(*f:l.jpgOI=rgb2gray(s)H=fspecial(sobel)%应用Sobel算子锐化图像II=filter2(HzI)%Sobel算子滤波锐化H=fspecial(prewitt)%应用prewitt算子锐化图像I2=filter2(HzI)%prewitt算字滤波锐化H=fspecial(log)%应用Iog算子锐化图像I3=filter2(HzI)%og算子滤波锐化subplo
14、t(2,2zl)Jimshow;title。原图像)subplot(22z2)Jimshow(II)jtitle(,Sobel算子锐化图像)subplot(2,2z3)jimshow(I2)JtitIeCprewitt算子锐化图展)subplot(2,2z4);imshow(I3)jtitle(,log算子锐化图像)原图像Sobel算子锐化图prewittM子锐化图Iog算子锐化图四、实验总结1、比较不同平滑滤波器的处理效果,分析其优缺点2、比较不同锐化滤波器的处理效果,分析其优缺点实验五图像恢复和图像分割一、实验目的1、熟悉并掌握MATLAB图像处理工具箱的使用;2、理解并掌握常用的图像的恢复和分割技术。二、实验环境MATLAB6.5以上版本、WINXP或WIN2000计算机三、相关知识7 deconvwnr维纳滤波,用法:J=deconvwnr(IzPSFzNSR)用维纳滤波算法对图片I进行图像恢复后返回图像J。I是一个N维数组。PSF是点扩展函数的卷积。NSP是加性噪声的噪声对信号的功率比。如:I=im2double(imread(cameraman.tif)