图像处理实验1234_第1页
图像处理实验1234_第2页
图像处理实验1234_第3页
图像处理实验1234_第4页
图像处理实验1234_第5页
免费预览已结束,剩余13页可下载查看

下载本文档

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

文档简介

-图像处理实验1234实验一 Matlab基本运算1、 按水平和竖直方向分别合并下述两个矩阵: A=1 0 0;1 1 0;0 0 1A = 1 0 0 1 1 0 0 0 1 B=2 3 4;5 6 7;8 9 10B = 2 3 4 5 6 7 8 9 10 C=A BC = 1 0 0 2 3 4 1 1 0 5 6 7 0 0 1 8 9 10 D=A;BD = 1 0 0 1 1 0 0 0 1 2 3 4 5 6 7 8 9 10(1) 分别删除上述两个结果的第2行。 C(2,:)=C = 1 0 0 2 3 4 0 0 1 8 9 10 D(2,:)=D = 1 0 0 0 0 1 2 3 4 5 6 7 8 9 10(2)分别将上述两个结果的第2行最后3列的数值 改为11 12 13。 C(2,4:6)=11 12 13C = 1 0 0 2 3 4 0 0 1 11 12 13 D(2,:)=11 12 13D = 1 0 0 11 12 13 2 3 4 5 6 7 8 9 10(3) 分别查看上述两个结果的各方向长度。 C_SIZE=size(C)C_SIZE = 2 6 D_SIZE=size(D)D_SIZE = 5 3(4) 分别计算上述矩阵A和B的A+B、A.* B、A./B和 AB,分析结果。 AB1=A+BAB1 = 3 3 4 6 7 7 8 9 11 AB2=A.*BAB2 = 2 0 0 5 6 0 0 0 10 AB3=A./BAB3 = 0.5000 0 0 0.2000 0.1667 0 0 0 0.1000 AB4=ABAB4 = 2 3 4 3 3 3 8 9 10(5) 计算矩阵A和B的A&B 、 A|B、 A和B,分析结果。 AB5=A&BAB5 = 1 0 0 1 1 0 0 0 1 AB6=A|BAB6 = 1 1 1 1 1 1 1 1 1 AB7=BAB7 = 0 0 0 0 0 0 0 0 0 AB8=AAB8 = 0 1 1 0 0 1 1 1 0(6) 判断上述矩阵A和B中哪些元素值不小于4。 A.*(A=4)ans = 0 0 0 0 0 0 0 0 0 B.*(B=4)ans = 0 0 4 5 6 7 8 9 102、下面是Matlab中有关图像读出、显示和保存函数使用的一段代码:f = imread ( filename); M, N = size( f ); imshow ( f );imwrite (f, filename.jpg) f=imread(filename.jpg); M,N=size(f); imshow(f);Warning: Image is too big to fit on screen; displaying at 56% scale. In truesizeResize1 at 308 In truesize at 44 In imshow at 161 imwrite(f,filename.jpg)各函数的详细使用方法,请各位查看Matlab中的帮助,使用“help 函数名”即可以查看函数的使用方法。请完成以下内容:(1) 读取文件夹中的图像“pollen.tif.tif”,用imshow(f)和imshow(f, )显示,并将后一幅图存为”pollen1.tif”。思考:为什么图像变清楚了? f=imread(bubbles.tif); imshow(f);Warning: Image is too big to fit on screen; displaying at 75% scale. In truesizeResize1 at 308 In truesize at 44 In imshow at 161 figure,imshow(f,);Warning: Image is too big to fit on screen; displaying at 75% scale. In truesizeResize1 at 308 In truesize at 44 In imshow at 161(2) 用不同的压缩参数(80,50,10)将bubbles.tif 保存为jpeg图像,比较压缩参数的作用, 并通过imfinfo获取文件信息了解图像的压缩情况对图像质量的影响 imwrite(f,bubbles1.jpg,quality,80); g=imread(bubbles1.jpg); imshow(g);Warning: Image is too big to fit on screen; displaying at 75% scale. In truesizeResize1 at 308 In truesize at 44 In imshow at 161 imwrite(f,bubbles2.jpg,quality,50); g1=imread(bubbles2.jpg); figure,imshow(g1);Warning: Image is too big to fit on screen; displaying at 75% scale. In truesizeResize1 at 308 In truesize at 44 In imshow at 161 imwrite(f,bubbles3.jpg,quality,10); g2=imread(bubbles3.jpg); figure,imshow(g2);Warning: Image is too big to fit on screen; displaying at 75% scale. In truesizeResize1 at 308 In truesize at 44 In imshow at 161 imfinfo(bubbles1.jpg)ans = Filename: bubbles1.jpg FileModDate: 26-Sep-2014 00:01:44 FileSize: 39129 Format: jpg FormatVersion: Width: 720 Height: 688 BitDepth: 8 ColorType: grayscale FormatSignature: NumberOfSamples: 1 CodingMethod: Huffman CodingProcess: Sequential Comment: imfinfo(bubbles2.jpg)ans = Filename: bubbles2.jpg FileModDate: 26-Sep-2014 00:02:46 FileSize: 20068 Format: jpg FormatVersion: Width: 720 Height: 688 BitDepth: 8 ColorType: grayscale FormatSignature: NumberOfSamples: 1 CodingMethod: Huffman CodingProcess: Sequential Comment: imfinfo(bubbles3.jpg)ans = Filename: bubbles3.jpg FileModDate: 26-Sep-2014 00:03:29 FileSize: 9498 Format: jpg FormatVersion: Width: 720 Height: 688 BitDepth: 8 ColorType: grayscale FormatSignature: NumberOfSamples: 1 CodingMethod: Huffman CodingProcess: Sequential Comment: 3、自己编写M文件,并将其放在工作目录中,然后在Matlab中使用命令行调用。X=1:0.1:10;Y=sin(x);Plot(x,y);(了解以上函数的意义,掌握编写和使用m文件的技巧,熟悉基本的GUI编程技术) X=1:0.1:10X = Columns 1 through 9 1.0000 1.1000 1.2000 1.3000 1.4000 1.5000 1.6000 1.7000 1.800 Columns 10 through 18 1.9000 2.0000 2.1000 2.2000 2.3000 2.4000 2.5000 2.6000 2.7000 Columns 19 through 27 2.8000 2.9000 3.0000 3.1000 3.2000 3.3000 3.4000 3.5000 3.6000 Columns 28 through 36 3.7000 3.8000 3.9000 4.0000 4.1000 4.2000 4.3000 4.4000 4.5000 Columns 37 through 45 4.6000 4.7000 4.8000 4.9000 5.0000 5.1000 5.2000 5.3000 5.4000 Columns 46 through 54 5.5000 5.6000 5.7000 5.8000 5.9000 6.0000 6.1000 6.2000 6.3000 Columns 55 through 63 6.4000 6.5000 6.6000 6.7000 6.8000 6.9000 7.0000 7.1000 7.2000 Columns 64 through 72 7.3000 7.4000 7.5000 7.6000 7.7000 7.8000 7.9000 8.0000 8.1000 Columns 73 through 81 8.2000 8.3000 8.4000 8.5000 8.6000 8.7000 8.8000 8.9000 9.0000 Columns 82 through 90 9.1000 9.2000 9.3000 9.4000 9.5000 9.6000 9.7000 9.8000 9.9000 Column 91 10.0000 Y=sin(X)Y = Columns 1 through 9 0.8415 0.8912 0.9320 0.9636 0.9854 0.9975 0.9996 0.9917 0.9738 Columns 10 through 18 0.9463 0.9093 0.8632 0.8085 0.7457 0.6755 0.5985 0.5155 0.4274 Columns 19 through 27 0.3350 0.2392 0.1411 0.0416 -0.0584 -0.1577 -0.2555 -0.3508 -0.4425 Columns 28 through 36 -0.5298 -0.6119 -0.6878 -0.7568 -0.8183 -0.8716 -0.9162 -0.9516 -0.9775 Columns 37 through 45 -0.9937 -0.9999 -0.9962 -0.9825 -0.9589 -0.9258 -0.8835 -0.8323 -0.7728 Columns 46 through 54 -0.7055 -0.6313 -0.5507 -0.4646 -0.3739 -0.2794 -0.1822 -0.0831 0.0168 Columns 55 through 63 0.1165 0.2151 0.3115 0.4048 0.4941 0.5784 0.6570 0.7290 0.7937 Columns 64 through 72 0.8504 0.8987 0.9380 0.9679 0.9882 0.9985 0.9989 0.9894 0.9699 Columns 73 through 81 0.9407 0.9022 0.8546 0.7985 0.7344 0.6630 0.5849 0.5010 0.4121 Columns 82 through 90 0.3191 0.2229 0.1245 0.0248 -0.0752 -0.1743 -0.2718 -0.3665 -0.4575 Column 91 -0.5440 plot(X,Y);4、编写一个M文件,完成以下功能:输入参数:文件名处理:(1)将图像中每个点的灰度值除于2,(2)将灰度值为0的点换为灰度值为255,(3)计算图像的最大、最小灰度值和平均值。输出:将每次处理的结果显示出来 f=imread(bubbles.tif); imshow(f);Warning: Image is too big to fit on screen; displaying at 75% scale. In truesizeResize1 at 308 In truesize at 44 In imshow at 161 g=f/2; figure,imshow(g);Warning: Image is too big to fit on screen; displaying at 75% scale. In truesizeResize1 at 308 In truesize at 44 In imshow at 161 f(f=0)=255; figure,imshow(f);Warning: Image is too big to fit on screen; displaying at 75% scale. In truesizeResize1 at 308 In truesize at 44 In imshow at 161 f=imread(bubbles.tif); min(f(:)ans = 17 max(f(:)ans = 255 mean(f(:)ans = 137.9148M文件中functionf=Fhanshu(str)g=imread(str);imshow(g/2);g(g=0)=255;figure,imshow(g);min(g(:)max(g(:)mean(g(:) Fhanshu(bubbles1.jpg);Warning: Image is too big to fit on screen; displaying at 75% scale. In truesizeResize1 at 308 In truesize at 44 In imshow at 161 In Fhanshu at 3Warning: Image is too big to fit on screen; displaying at 75% scale. In truesizeResize1 at 308 In truesize at 44 In imshow at 161 In Fhanshu at 5ans = 20ans = 255ans = 137.9177 Fhanshu(bubbles1.jpg);Warning: Image is too big to fit on screen; displaying at 75% scale. In truesizeResize1 at 308 In truesize at 44 In imshow at 161 In Fhanshu at 3Warning: Image is too big to fit on screen; displaying at 75% scale. In truesizeResize1 at 308 In truesize at 44 In imshow at 161 In Fhanshu at 5ans = 20ans = 255ans = 137.9177实验2 医学图像增强实验目的:1. 掌握分段线性变换;2. 理解直方图均衡的原理与作用3. 掌握直方图均衡化的Matlab编程实验内容:1. 研究imadjust函数的使用方法,将图片moon进行明暗反转处理,写出实现函数;原图显示 m=imread(moon.tif); m1=imadjust(m); imshow(m1);Warning: Image is too big to fit on screen; displaying at 56% scale. In truesizeResize1 at 308 In truesize at 44 In imshow at 161明暗反转 m2=imadjust(m,0 1,1 0); figure,imshow(m2);Warning: Image is too big to fit on screen; displaying at 56% scale. In truesizeResize1 at 308 In truesize at 44 In imshow at 161将0.5到0.7范围的灰度扩展到整个【0 1】范围 m3=imadjust(m,0.5 0.7,0 1); figure,imshow(m3);Warning: Image is too big to fit on screen; displaying at 56% scale. In truesizeResize1 at 308 In truesize at 44 In imshow at 1612. 利用Matlab图像处理工具箱提供的直方图均衡函数对医学图像“img_LineEnhance.bmp”进行均衡化处理,并显示均衡化前后的直方图。 提示:下面为直方图均衡化相关的函数说明x=rgb2gray(I);转换为二维图像,imhist处理的是二维图像(1)生成并绘制图像的直方图 语法:h=imhist(f, b) 说明:b是用于形成直方图的灰度级的个数。 a=imread(img_LineEnhance.bmp); a1=rgb2gray(a); imhist(a1); imhist(a1,25); h=imhist(a1,25); horz=linspace(0,255,25); bar(horz,h)(2)直方图均衡化函数语法:g=histeq(f, n)说明:n是为输出图像制定的灰度级数。 b=histeq(a1,255); imhist(b) b=histeq(a1,55); imhist(b) imshow(a); figure,imshow(a1); figure,imshow(h); figure,imshow(b); figure,imshow(b1);3. 对图片pollen进行线性灰度变换(利用imadjust函数)。对于输入图片,通过max和min函数求他们的最大最小值,然后将其扩充到0255的灰度空间,看看效果如何,并分析其直方图。自己编写m文件im2adjust,实现读入一个图片以后自动的将其灰度空间扩充到0-255。 f=imread(pollen.tif); imshow(f); max(f(:)ans = 83 min(f(:)ans = 13 f2=imadjust(f,13/255 83/255,0 1); figure,imshow(f2); imhist(f); imhist(f2);M文件中functionf=im2adjust(str)g=imread(str);imshow(g);min(g(:)max(g(:)g2=imadjust(g,min(g(:)/255 max(g(:)/255,0 1);figure,imshow(g2);figure,imhist(g);figure,imhist(g2); im2adjust(pollen.tif);ans = 13ans = 83实验3 医学图像增强(二)4. 熟悉领域滤波5. 掌握使用Matlab中的函数实现医学图像进行图像锐化的方法;6. 熟悉医学图像离散傅里叶变化的原理和方法;7. 掌握医学图像频域滤波的原理;8. 掌握使用Matlab中的函数实现医学图像进行频域滤波的方法;1. 使用imnoise给图像MRIBrain_10.bmp添加概率为0.2的椒盐噪声,然后分别使用fspecial产生3*3、5*5、7*7的方形模板,并使用imfilter对有噪声的图像进行空间滤波,观察滤波效果并说明原因。再给图像MRIBrain_10.bmp添加均值为0,方差为0.01的高斯噪声,使用三种模板对其进行滤波,观察其效果并说明在两种噪声中使用模板进行滤波产生的差别及原因。对于椒盐噪声,中值滤波效果比均值滤波效果好。原因:椒盐噪声是幅值近似相等但随机分布在不同位置上,图像中有干净点也有污染点。中值滤波是选择适当的点来替代污染点的值,所以处理效果好。因为噪声的均值不为0,所以均值滤波不能很好地去除噪声点。对于高斯噪声,均值滤波效果比中值滤波效果好。原因:高斯噪声是幅值近似正态分布,但分布在每点像素上。因为图像中的每点都是污染点,所以中值滤波选不到合适的干净点。因为正态分布的均值为0,所以均值滤波可以消除噪声。 g=imread(MRIBrain_10.bmp); imshow(g); g1=imnoise(g,salt & pepper,0.2); figure,imshow(g1); a=fspecial(average,3); b=fspecial(average,5); c=fspecial(average,7); figure,imshow(a); figure,imshow(b); figure,imshow(c); g2=imfilter(g1,a); g3=imfilter(g1,b); g4=imfilter(g1,c); figure,imshow(g2); figure,imshow(g3); figure,imshow(g4); f=imnoise(g,gaussian,0,0.01); figure,imshow(f); f1=imfilter(f,a); f2=imfilter(f,b); f3=imfilter(f,c); figure,imshow(f1); figure,imshow(f2); figure,imshow(f3);2. 使用edge函数,分别采用robertssobellog(拉普拉斯算子)算子,对图像MRIBrain_10.bmp进行锐化,比较各个算子的效果并说明其原因。3. 提示:Matlab图像处理工具箱提供的图像锐化函数语法:g,t=edge(f,method,parameters);说明:此函数按照指定梯度算子对图像f进行锐化,g为锐化后的图像,参数t是可选的,它给出函数所使用的阈值。method可以选取robertssobellog等值,parameters可以选取方向或标准差的值,对于robertssobel算子可以选取horizontalvertical两个值中的一个,对于log算子,值为其对应的标准差的值(默认值为2) f=imread(MRIBrain_10.bmp); imshow(f); g=rgb2gray(f); r,t=edge(g,roberts); rh,t=edge(g,roberts,horizontal); rv,t=edge(g,roberts,vertical); figure,imshow(r); figure,imshow(rh); figure,imshow(rv); f=imread(MRIBrain_10.bmp); imshow(f); g=rgb2gray(f); s,t=edge(g,sobel); sh,t=edge(g,sobel,horizontal); sv,t=edge(g,sobel,vertical); figure,imshow(s); figure,imshow(sh); figure,imshow(sv); f=imread(MRIBrain_10.bmp); imshow(f); g=rgb2gray(f); l,t=edge(g,log); l1,t=edge(g,log,0.02); l2,t=edge(g,log,0.002); figure,imshow(l); figure,imshow(l1); figure,imshow(l2);4. 对图片“MRIBrain_10.bmp”进行频域变换处理。(1)频域变换(2)移动频域到中心位置(3)log非线性变换频谱图让其能更清晰显示 f=imread(MRIBrain_10.bmp); imshow(f); g=rgb2gray(f); g=double(g); gf=fft2(g); gf=abs(gf); gsft=fftshift(gf); gl=log(1+gsft); figure,imshow(gf,); figure,imshow(gsft,); figure,imshow(gl,);5. 实现ppt182页理想低通滤波器对“MRIBrain_10.bmp”图片进行处理,并显示D0为5,10,20,40时的滤波效果图。M文件中functioni=LiXiangLB(str) f=imread(str);f=rgb2gray(f);figure,imshow(f); fd=double(f); g=fftshift(fft2(fd); M,N=size(g); n1=floor(M/2); n2=floor(N/2); d0=40; for i=1:M for j=1:N d=sqrt(i-n1)2+(j-n2)2); if d f=imread(lung2.bmp); g=imnoise(f,salt & pepper,0.02); r,t=edge(f,roberts); r1,t=edge(g,roberts); s,t=edge(f,sobel); s1,t=edge(g,sobel); p,t=edge(f,prewitt); p1,t=edge(g,prewitt); c,t=edge(f,canny); c1,t=edge(g,canny); l,t=edge(f,log); l1,t=edge(g,log); imshow(f);title(原图); figure,imshow(g);title(加噪音); figure,imshow(r);title(roberts); figure,imshow(r1);title(roberts); figure,imshow(s);title(sobel); figure,imshow(s1);title(sobel); figure,imshow(p);title(prewitt); figure,imshow(p1);title(prewitt); figure,imshow(c);title(conny); figure,imshow(c1);title(conny); figure,imshow(l);title(log); figure,imshow(l1);title(

温馨提示

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

评论

0/150

提交评论