数字图像处理实验matlab_第1页
数字图像处理实验matlab_第2页
数字图像处理实验matlab_第3页
数字图像处理实验matlab_第4页
数字图像处理实验matlab_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机图像处理姓名: 学号: 班级: 实验一:了解数字图像处理平台一、实验目的(1)学会使用扫描仪;(2)熟悉MATLAB软件。二、实验内容(1)用扫描仪扫一幅彩色图片;一幅灰度图片。(2)熟悉MATLAB的主界面窗口中各个窗口的功能,利 用不同的矩阵输入方式给矩阵赋值,了解MATLAB 的简单编程及矩阵基本知识;(3)掌握使用MATLAB的帮助来获得更多的信息。三、实验仪器设备 扫描仪、计算机和MATLAB应用软件。实验二:图像处理一、实验目的(1)通过应用MATLAB语言编程实现对图像的处理, 进一步熟悉MATLAB软件的编程及应用;(2)通过实验进一步掌握图像处理的基本技术和方 法。二、实验内容1. 应用MATLAB语言编写显示一幅灰度图像、二值图像、索引图像及彩色图像的程序,并进行相互之间的转换。显示原始图像:I=imread(D:tu.jpg); imshow(I);RGB灰度图像:代码: I=imread(D:tu.JPEG); imshow(I) graytu=rgb2gray(I); subplot(1,2,1); subimage(I); subplot(1,2,2); subimage(graytu)效果:RGB转二值图像:代码: indtu,map=rgb2ind(I,0.5); subplot(1,2,1); subimage(I); subplot(1,2,2); subimage(indtu,map)效果:索引转RGB图像:代码: I1=ind2rgb(indtu,map); subplot(1,2,1); subimage(indtu,map); subplot(1,2,2); subimage(I1)效果:索引转灰度图像:代码: I2gtu=ind2gray(indtu,map); subplot(1,2,1); subimage(indtu,map); subplot(1,2,2); subimage(I2gtu)效果:灰度转索引图像:代码:g2itu,map=gray2ind(graytu,64); subplot(1,2,1); subimage(graytu); subplot(1,2,2); subimage(g2itu,map)效果:RGB转二值图像:代码: r2bwtu1=im2bw(I,0.8); subplot(1,2,1); subimage(I); subplot(1,2,2); subimage(r2bwtu1)代码:效果:灰度转二值图像代码:g2bwtu1=im2bw(graytu,0.8); subplot(1,2,1); subimage(graytu); subplot(1,2,2); subimage(g2bwtu1)效果:索引转二值图像代码: i2bwtu=im2bw(indtu,map,0.5); subplot(1,2,1); subimage(indtu,map); subplot(1,2,2); subimage(i2bwtu)效果:2. 应用MATLAB工具箱演示一幅图像的傅里叶变换、离散余弦变换,观察其频谱图,然后将它们进行逆变换,观察逆变换后的图像(1) 傅里叶正变换代码: F=fft2(graytu); subplot(1,2,1); subimage(graytu); subplot(1,2,2); subimage(log(abs(F),3,10)效果:(2) 傅里叶反变换代码: IF=ifft2(F); subplot(1,2,1); subimage(log(abs(F),3,10); subplot(1,2,2); subimage(uint8(IF)效果:(3) DCT变换代码: B=dct2(graytu); subplot(1,2,1); subimage(graytu); subplot(1,2,2); subimage(log(abs(B),3,5)效果:(4) IDCT变换代码: iB=idct2(B); subplot(1,2,1); subimage(log(abs(B),3,5); subplot(1,2,2); subimage(uint8(iB)效果:总结:傅里叶变化:傅里叶变换是一种特殊的积分变换。它能将满足一定条件的某个函数表示成正弦基函数的线性组合或者积分。DCT变换:离散余弦变换的重要特点是能量集中,信号常将其能量的大部分集中于频率域的一个小范围内,这样描述不重要的分量只需要很少的比特数;频率域分解映射了人类感觉系统的处理过程,并允许后继的量化过程满足其灵敏度的要求。变化后,能量集中的范围可以精细的量化,其他的范围可以粗糙量化,这样处理,不会引起太大的精度问题,符合人体的听觉,视觉需要。这样量化后,可以用小的数据量来保存采集的数据,对处理音频,视频等数据非常有效。3. 应用MATLAB语言编程来实现一幅图像的增强(1) 取一幅灰度图像,对其进行线性点运算,要求:要求线性函数为Y=aX+b,(a,b)分别取(1.5,1.2)、(0.7,1.2),分析变化后图像,并分析直方图。代码: graytu=double(graytu); graytu1=1.5*graytu+1.2; subplot(2,2,1); subimage(unit8(graytu); subimage(uint8(graytu); subplot(2,2,2); imhist(uint8(graytu); sublpot(2,2,3); subplot(2,2,3); subimage(uint8(graytu1); subplot(2,2,4); imhist(uint8(graytu1)效果:代码2: graytu=double(graytu); graytu1=0.7*graytu+1.2; subplot(2,2,1); subimage(uint8(graytu); subplot(2,2,2); imhist(uint8(gtaytu); imhist(uint8(graytu); subplot(2,2,3); subimage(uint8(graytu1); subplot(2,2,4); imhist(uint8(graytu1)效果:总结:当a=0.7时,图像对比度减小,输出灰度值范围减小; 当a=1.5时,图像对比度增大,输出灰度值范围增大。(2) 取一幅灰度图像,对其进行直方图均衡化处理,再对其进行规定化处理,并对结果进行分析代码: graytu=uint8(graytu); eqtu=histeq(graytu); subplot(2,2,1); subimage(graytu); subplot(2,2,2); imhist(graytu); subplot(2,2,3); subimage(eqtu); subplot(2,2,4); imhist(eqtu)效果:规定化代码:代码: hgram=50:2:250; speciatu=histeq(graytu,hgram); subplot(2,2,1);subimage(graytu); subplot(2,2,2);imhist(graytu); subplot(2,2,3);subimage(speciatu); subplot(2,2,4);imhist(speciatu)效果:总结:图像均衡化将一已知灰度概率密度分布的图像经过某种变换,变成一具具有均匀灰度概率密度分布的新图像。其结果扩展了像元取值的动态范围,从而到达了增强图像整体效果的对比。直方图规定化能自动增强整个图像的对比度,但它的具体增强效果不易控制,处理的结果总是得到全局的均衡化直方图。思考题:如果将一幅图像进行一次直方图均衡化处理后,再进行一次直方图均衡化处理,结果会发生变化吗?观察两次均衡化的直方图是否一样。答:2次均衡化的结果是一样的代码: subplot(2,2,1); J=histeq(graytu); JJ=histeq(J); imhist(J); subplot(2,2,2); imhist(JJ); subplot(2,2,3); imshow(J); subplot(2,2,4); imshow(JJ)效果:(3) 取一幅灰度图像,加入噪声后对其进行平滑滤波(均值滤波、中值滤波),并观察不同滤波方式下的效果代码: noisetu=imnoise(graytu,salt & pepper,0.02); avetu=filter2(fspecial(average,3),noisetu)/255; metu=mefilt2(noisetu,3,3); metu=medfilt2(noisetu,3,3); subplot(2,2,1);subimage(graytu);title(原图); subploy(2,2,2);sunimage(noisetu);title(加椒盐噪声); subplot(2,2,2);subimage(noisetu);title(加椒盐噪声图); subplot(2,2,3);subimage(avetu);titlt(均值平滑图); subplot(2,2,3);subimage(avetu);title(均值平滑图); subplot(2,2,4);subimage(medtu);title(中值滤波图) subplot(2,2,4);subimage(metu);title(中值滤波图)效果:总结:均值滤波的效果与所使用的领域半径大小有关,半径越大,像素点越多,则信噪比提高越大,平滑效果越好,但是平滑图像的模糊程度越大。中值滤波是一种非线性滤波,可以克服整形滤波器所带来的图像细节模糊,对滤波脉冲干扰及颗粒噪声最为有效。(4) 取一幅灰度图像,采用不同的算子对其进行边缘锐化,并分析结果代码: sobeltu=filter2(fspecial(sobel),graytu); prewitttu=filter2(fspecial(prewitt),graytu); laplaciantu=filter2(fspecial(laplacian),graytu); subplot(2,2,1);subimage(graytu);title(原图); subplot(2,2,2);subimage(sobeltu);title(sobel图); subplot(2,2,3);subimage(prewitttu);title(prewitt图); subplot(2,2,4);subimage(laplaciantu);title(laplacian图)效果:总结:Sobel算子:对称的一阶差分,对中心加权具有一定的平滑作用Prewitt算子:一种一阶微分算子的边缘检测,利用像素点上下,左右邻点的灰度差,在边缘出到达到极值检测边缘,去掉部分伪边缘,对噪声具有边缘作用。Lanplacian算子:做二次微分算子,满足不同走向的图像边缘锐化要求,对噪声的增强作用减弱,一半用它进行边缘增强时,有必要将将图像先进性平滑处理。思考题:为了达到边缘锐化的反差增强效果,实际应用中将高频增强和直方图均衡化结合起来使用,这两个操作的次序能互换吗?效果一样吗?答:不能互换,应该先进行锐化,然后再进行均衡化。因为直方图均衡化是把原始图像的灰度直方图从某个灰度区间变成在全部灰度范围内的均匀分布,而将高频增强明显的意思是对图像进行高通滤波,所以如果两个处理次序互换的话不同频率成分产生影响,而使效果不一样,但都可增强反差。代码: imshow(graytu); h=fspecial(sobel); J=histeq(graytu); I3=filter2(h,graytu); subplot(1,2,1); imshow(I3); I3=filter2(h,graytu); subplot(1,2,2); J=histeq(I3); imshow(J)效果:4. 对一幅灰度图像进行模糊处理,然后进行逆滤波、维纳滤波与约束最小二乘方滤波复原实验代码: PSF=fspecial(motion,30.45); blurtu=imfilter(graytu,PSF,circular,conv); subplot(1,2,1);subimage(graytu);title(原图); subplot(1,2,2);subimage(blurtu);title(运动模糊图);效果:逆滤波代码: wnr1tu=deconvwnr(blurtu,PSF); subplot(1,2,1);subimage(blurtu); subplot(1,2,2);subimage(wnr1tu)效果:维纳滤波代码: wnr3tu=deconvwnr(blurtu,PSF,NSR); subplot(1,3,1);subimage(blurtu);title(运动加噪声图); subplot(1,3,2);subimage(wunr2tu);title(维纳滤波图); subplot(1,3,2);subimage(wnr2tu);title(维纳滤波图); subplot(1,3,3);subimage(wnr3tu);title(真实信噪比恢复图);效果:5. 应用MATLAB语言编写实现一幅图像的旋转、剪切和缩放代码: rotattu=imrotate(graytu,45,nearest); rotattu2=imrotate(graytu,45,bilinear); rotattu3=imrotate(graytu,45,bicubic); subplor(2,2,1);subimage(graytu); subplot(2,2,1);subimage(graytu);title(原图); subplot(2,2,2);subimage(rotate);title(最邻域旋转图); subplot(2,2,3);subimage(rotate1);title(双线性旋转图); subplot(2,2,3);subimage(rotattu2);title(双线性旋转图); subplot(2,2,4);subimage(rotattu3);title(双立方旋转图)效果:剪切代码: croptu=imcrop(graytu,100,100,200,200); subplot(1,2,1);imshow(graytu);title(原图); subplot(1,2,2);imshoe(cropt

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论