1 / 16
文档名称:

数字图象处理实验指导书.pdf

格式:pdf   大小:1,386KB   页数:16页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数字图象处理实验指导书.pdf

上传人:1781111**** 2024/5/11 文件大小:1.35 MB

下载得到文件列表

数字图象处理实验指导书.pdf

相关文档

文档介绍

文档介绍:该【数字图象处理实验指导书 】是由【1781111****】上传分享,文档一共【16】页,该文档可以免费在线阅读,需要了解更多关于【数字图象处理实验指导书 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:..数字图像处理课程实验报告班级学号姓名:..实验一常用MATLAB图像处理命令一、实验目的1、熟悉并掌握MATLAB工具的使用;2、实现图像的读取、显示、代数运算和简单变换。二、、WINXP或WIN2000计算机三、常用函数?读写图像文件1、imreadimread函数用于读入各种图像文件,如:2、imwriteimwrite函数用于写入图像文件,如:',?tif?)3、imfinfoimfinfo函数用于读取图像文件的有关信息,如:?图像的显示1、imageimage函数是MATLAB提供的最原始的图像显示函数,如:a=[1,2,3,4;4,5,6,7;8,9,10,11,12];image(a);2、imshowimshow函数用于图像文件的显示,如:imshow(i);:..title(?原图像?)%加上图像标题3、colorbarcolorbar函数用显示图像的颜色条,如:imshow(i);colorbar;4、figurefigure函数用于设定图像显示窗口,如:figure(1);/figure(2);5、subplot把图形窗口分成多个矩形部分,每个部分可以分别用来进行显示。Subplot(m,n,p)分成m*n个小窗口,在第p个窗口中创建坐标轴为当前坐标轴,用于显示图形。6、plot绘制二维图形plot(y)Plot(x,y)xy可以是向量、矩阵。?图像类型转换1、rgb2gray把真彩图像转换为灰度图像i=rgb2gray(j)2、im2bw通过阈值化方法把图像转换为二值图像I=im2bw(j,level):..Level表示灰度阈值,取值范围0~1(),表示阈值取自原图像灰度范围的n%3、imresize改变图像的大小I=imresize(j,[mn])将图像j大小调整为m行n列?图像运算1、imadd两幅图像相加,要求同样大小,同种数据类型Z=imadd(x,y)表示图像x+y2、imsubtract两幅图像相减,要求同样大小,同种数据类型Z=imsubtract(x,y)表示图像x-y3、immultiplyZ=immultiply(x,y)表示图像x*y4、imdivideZ=imdivide(x,y)表示图像x/y四、实验内容1、读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。图片>>subplot(2,2,1);>>y=imshow(x);>>title('原图像');>>subplot(2,2,2);>>t=rgb2gray(x);>>imshow(t);>>title('灰度图像');>>subplot(2,1,2);>>m=im2bw(x,);>>imshow(m);:..>>title('二值图像');2、对两幅不同图像执行加、减、乘、除操作,在多个窗口内分别显示,注上文字标题。图片图片>>subplot(3,2,1);>>imshow(x);>>title('图像x');>>subplot(3,2,2);>>imshow(y);>>title('图像y');>>subplot(3,2,3);>>z=imadd(x,y);>>imshow(z);>>title('x+y');>>subplot(3,2,4);>>t=imsubtract(x,y);>>imshow(t);>>title('x-y');>>subplot(3,2,5);>>m=immultiply(x,y);>>imshow(m);>>title('x*y');>>subplot(3,2,6);:..>>n=imdivide(x,y);>>imshow(n);>>title('x/y');3、对一幅图像进行灰度变化,实现图像变亮、变暗和负片效果,在多个窗口内分别显示,注上文字标题。图片>>subplot(2,2,1);>>imshow(x);>>title('原图像');>>subplot(2,2,2);>>y=imadjust(x,[,],[0,1]);>>imshow(y);>>title('原图像变亮');>>subplot(2,2,3);>>z=imadjust(x,[,],[]);>>imshow(z);>>title('变暗');>>subplot(2,2,4);>>c=255-x;>>imshow(c);>>title('负片');:..4、熟悉数字图像处理常用函数的使用,调出帮助文档查看其各种不同用法。方法:选择函数(函数所在区变暗),点右键弹出菜单,选择“HelponSelection”五、实验总结分析图像的代数运算结果,分别陈述图像的加、减、乘、除运算可能的应用领域。:..实验二图像基本操作一、实验目的1、熟悉及掌握图像的采样原理,实现图像的采样过程,进行图像的灰度转换。2、理解直方图的概念及应用,实现图像直方图的显示,及通过直方图均衡和直方图规定化方法对图像进行修正。二、、WINXP或WIN2000计算机三、相关函数?图像的增强1、直方图imhist函数用于数字图像的直方图计算或显示,imhist(I,n)计算和显示图像I的直方图,n为指定的灰度级数目,默认为256。如果I是二值图像,那么n仅有两个值。[hgram,x]=imhist(...)返回直方图数据向量hgram,相应的色彩值向量x。如:imhist(i);2、直方图均衡化histeq函数用于数字图像的直方图均衡化,J=histeq(I,n)均衡化后的级数n,缺省值为64。直方图规定化,即将原是图象I的直方图变换成用户指定的向量hgram(即指定另一幅图像的直方图数据向量)。如::..j=histeq(i,N);对图像i执行均衡化,得到具有N个灰度级的灰度图像j,N缺省值为643、灰度调整imadjust函数用于数字图像的灰度或颜色调整,J=imadjust(I)将灰度图像I中的亮度值映射到J中的新值并使1%的数据是在低高强度和饱和,这增加了输出图像J的对比度值。J=imadjust(I,[low_in;high_in],[low_out;high_out])将图像I中的亮度值映射到J中的新值,即将low_in至high_in之间的值映射到low_out至high_out之间的值。low_in以下与high_in以上的值被剪切掉了,也就是说,low_in以下的值映射到low_out,high_in以上的值映射到high_out。它们都可以使用空的矩阵[],默认值是[01]。如:j=imadjust(i,[,],[]);将图像i转换为j,~~1相匹配?运算函数1、Zeros生成全0数组或矩阵如B=zeros(m,n)orB=zeros([mn])返回一个m*n全0矩阵2、取整函数floor最小取整函数round四舍五入取整函数ceil最大取整函数如a=[-,-,,,,+]I=round(a)I=[-203672+4i]四、实验内容:..调试运行8倍减采样程序,分析程序,对每条语句给出注释,并显示最终执行结果。?);b=rgb2gray(a);[wid,hei]=size(b);quartimg=zeros(wid/2+1,hei/2+1);i1=1;j1=1;fori=1:2:widforj=1:2:heiquartimg(i1,j1)=b(i,j);j1=j1+1;endi1=i1+1;j1=1;endfigureimshow(uint8(quartimg))2、显示一幅灰度图像a,改变图像亮度使其整体变暗得到图像b,显示两幅图像的直方图。3、对图像b进行直方图均衡化,显示结果图像和对应直方图。4、读入图像c,执行直方图规定化,使图像a的灰度分布与c大致相同,显示变换后图像及对应直方图。:..图像变换一、实验目的1、熟悉及掌握图像的变换原理及性质,实现图像的傅里叶变换。二、、WINXP或WIN2000计算机三、相关函数图像的空间域操作1、imrotate用于图像旋转用法:B=imrotate(A,angle,method)将图像A(图像的数据矩阵)绕图像的中心点旋转angle度,正数表示逆时针旋转,负数表示顺时针旋转。返回旋转后的图像矩阵。method参数表是插值算法,Method省略默认采用最近邻线性插值,旋转后的图像超出的部分填充0(黑色)。method参数可以为下面这三个值:'nearest':最邻近线性插值'bilinear':双线性插值'bicubic':双三次插值(或叫做双立方插值)如:图像采用双线性插值法逆时针旋转45度?图像的变换1、fft2fft2函数用于数字图像的二维傅立叶变换,如::..j=fft2(i);MATLAB无法显示复数图像,因此变换后的结果还需进行求模运算,即调用abs函数。之后常常还进行对数变换,即调用log函数,以减缓傅里叶谱的快速衰减,更好地显示高频信息。2、ifft2ifft2函数用于数字图像的二维傅立叶反变换,如:j=fft2(i);k=ifft2(j);3、fftshift用于将变换后图像频谱中心从矩阵的原点移动到矩阵的中心B=fftshift(i)4、利用fft2计算二维卷积利用fft2函数可以计算二维卷积,如:a=[8,1,6;3,5,7;4,9,2];b=[1,1,1;1,1,1;1,1,1];a(8,8)=0;b(8,8)=0;c=ifft2(fft2(a).*fft2(b));c=c(1:5,1:5);利用conv2(二维卷积函数)校验,如:a=[8,1,6;3,5,7;4,9,2];b=[1,1,1;1,1,1;1,1,1];:..c=conv2(a,b);1、对一幅图像进行缩小,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与平移后傅里叶频谱的对应关系。2、对一幅图像进行旋转,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与旋转后傅里叶频谱的对应关系。:..常用图像增强方法一、实验目的1、熟悉并掌握MATLAB图像处理工具箱的使用;2、理解并掌握常用的图像的增强技术。二、、WINXP或WIN2000计算机三、相关知识1、imnoiseimnoise函数用于对图像生成模拟噪声,如:j=imnoise(i,'gaussian',0,);,j=imnoise(i,'salt&pepper',)、fspecialfspecial函数用于产生预定义滤波器,如:h=fspecial('sobel');%sobel水平边缘增强滤波器h=fspecial('gaussian');%高斯低通滤波器h=fspecial('laplacian');%拉普拉斯滤波器h=fspecial('log');%高斯拉普拉斯(LoG)滤波器h=fspecial('average');%均值滤波器3、基于卷积的图像滤波函数imfilter函数,filter2函数,二维卷积conv2滤波,都可用于图像滤波,用法类似,如:h=[1,2,1;0,0,0;-1,-2,-1];%产生Sobel算子的水平方向模板:..I=imread('');imshow(I);H=fspecial('prewitt?);%预定义滤波器M=imfilter(I,H);imshow(M)或者:h=[1,1,1;1,1,1;1,1,1];h=h/9;j=conv2(i,h);4、其他常用滤波举例(1)中值滤波medfilt2函数用于图像的中值滤波,如:j=medfilt2(i,[MN]);对矩阵i进行二维中值滤波,领域为M*N,缺省值为3*3(2)利用拉氏算子锐化图像,如:j=double(i);h=[0,1,0;1,-4,0;0,1,0];%拉氏算子k=conv2(j,h,'same');:..四、实验步骤1、采用二维中值滤波函数medfilt2对受椒盐噪声干扰的图像滤波,窗口分别采用3*3,5*5,7*72、采用MATLAB中的函数filter2对受噪声干扰的图像进行均值滤波3、采用三种不同算子对图像进行锐化处理。五、实验总结1、比较不同平滑滤波器的处理效果,分析其优缺点2、比较不同锐化滤波器的处理效果,分析其优缺点