1、北科大数字图像处理实验报告北京科技大学计算机与通信工程学院实验报告实验名称: 数字图像处理课程实验学生姓名: 徐松松 专 业: 计算机科学与技术 班 级: 计1304 学 号: 41345053 指导教师: 王志明 实验成绩: 实验时间: 2016 年 12 月 15 日、实验目的与实验要求1、实验目的1.熟悉图像高斯、脉冲等噪声的特点 ,以及其对图像的影响 ;2.理解图像去噪算法原理 , 并能编程实现基本的图像去噪算法 , 达到改善图像 质量的效果 , 并能对算法性能进行简单的评价。3.理解图像分割算法的原理,并能编程实现基本的灰度图像分割算法,并显示 图像分割结果。2、实验要求1.对于给定
2、的两幅噪声图像 (test1.jpg, test2.jpg), 设计或选择至少两种图像滤波 算法对图像进行去噪。2.利用给出的参考图像 (org1.jpg, org2.jpg), 对不同算法进行性能分析比较。3.对于给定的两幅数字图像(test.jpg,test4.jpg),将其转换为灰度图像,设计或 选择至少两种图像分割算法对图像进行分割, 用适当的方式显示分割结果, 并对 不同算法进行性能分析比较。二、 实验设备(环境)及要求1.MacWindows 计算机2.Matlab 编程环境。三、 实验内容与步骤1、实验 1(1)实验内容1.对于给定的两幅噪声图像 (test1.jpg, test
3、2.jpg), 设计或选择至少两种图像滤波 算法对图像进行去噪。2.利用给出的参考图像 (org1.jpg, org2.jpg), 对不同算法进行性能分析比较。 (2)主要步骤1.打开 Matlab 编程环境 ;2.利用imread函数读入包含噪声的原始图像数据;3.利用imshow函数显示所读入的图像数据;结果显示:屮 f f Users t xss Documents MATLAB Irinread(1testl.jpg); imshow(I); Fimreadi * test2.jpd1H 犍逞便用 impact (line 349 交件testljpd-不存在” F=ijnread(*
4、test2. jp 1 aa imshowf F);扛4.编码实现图像滤波算法,对原始噪声图像进行滤波处理 分别用均值滤波,中值滤波和维纳滤波如下:代码:J=imread( test1.jpg );卷积运算average ,4),J)/255;% 采用二维中值滤波函数进行滤波K1=wie ner2(J,4 4); %对噪声图像进行二维自适应维纳滤波subplot(2,2,1);imshow(J);title( 加噪图像);subplot(2,2,2);imshow(K2);title(均值滤波后的图像);subplot(2,2,3);imshow(K);title(中值滤波后的图像);subp
5、lot(2,2,4);imshow(K1);title(维纳滤波后的图像);imwrite(K2, 均值滤波图像.jpg , quality ,100);imwrite(K, 中值滤波图像.jpg , quality ,100);imwrite(K1, 维纳滤波图像.jpg , quality ,100);处理结果如下:细节如下:原始图像均值滤波中值滤波 维纳滤波:对图像二的处理结果:原始图像 均值滤波中值滤波维纳滤波););5.计算滤波后图像与原图的差异(如PSNR、MSE等);J=imread( test1.jpgJ2=imread( org1.jpg %h=o nes(4,4)/16;%
6、B=co nv2(J,h);diff2=(double(J2)-(M)A2;mse2=mea n( diff2(:);psn r2=double(10*log10(255A2/mse2);结果:对于 test1.jpgnols*_).m calculate!.m untitled?- +*1A1- J=iirrejd( te5tl.jpg;Uans02- Ji=imread Jpgk :dilT512x512 douWt3材4/IE;躬严莖4则的全1般绘ddiff 1512x512 double45iB=conv2( J,hldiff2512x512 double5K2=f鼻时沁tJ)/255
7、; 血値滤聂樓扳I512x512 uinrS6Km 申踊理注函欧对声干 1zd2512x512 umtS7说计行扫怡庄箱启医悻的PM5E N門NR_LIK512x512 uintSSdif f 1( double (J2 K2).ZLKl512x512 utnlS&- m!sel=oicanidif fl( s);LLKZ5cfoutjie10P5nrl=d(uljlel 10*logl0C255*2/m5ell);工M占丄2x512 doublemselL639Lt+O411吊计J:中茁:it泊毛:赛项宥拦 12- H=dauble(K);mse225L-417113- d if f2-(
8、double (J2) -(H)XI psnirl5.9&49mse2=mean(diff2(I);卫 pnr224.U6415 p5nr2adouble(l*logl04255A2/mse2);16均值滤波:MSE = 1.6391e+ 04, PSNR=5.9848中值滤波:MSE = 251.4171, PSNR=24.1269对于 test2.jpg2蜿IB韶-/Users/xstDcKUmen“ Xnoise l.n- caJculatel.fH jntitkc2 + _ 一 L -.A也1- J=Jle3cK test2- jpg);lJXj乙砒02J2= Im read(1arg
9、2.j p g M;i .diff512nS 12 double1%h=ones(斗,4)八召珂卜生4詁的全燈蛋j diffl4%Bconv20(h);% 卷壮运绘.i Chf 口512x5125K2=filter2(tspecial( iverage .4 Jj/155;_|J512x512 umtB6K= BCdf丄l说口)注舉用二:fit血厭鮭敷E品仃It缨哦品诫再干!rdj25i.2)t512 utn(87%汁舄旳佰蕊菠启團僚的PHSE与PShRiK512x512 uintS- dlfn-double( J2)-(K2 k*2;iKl51x517 uintS9- msei=e5n(tf
10、lffl(;);iK2512x512 doubkIBpsnrl- 匸imread(test3.jpg);3.利用 imshow函数显示所读入的图像数据。 imshow(l);命令行窗口X-Lx I=imread(test3 jpg1); whos IName SizeBytesClassAttributesI 321x481x3463203u intS imshowtI);文件 镰辑 查看 插入工*桌面 闔口帯助 a H te o 结果为:5.编码实现图像分割,对原始图像进行区域分割,并得到各个区域的标号1.利用双分法先给出原图的直方图,再定出阈值(门限)T, 一般取两个峰值间的谷值。 代码:
11、I=imread( test3.jpg );subplot(1,2,1);i=rgb2gray(l);imhist(i);title(原始图像直方图);thread=75/255;subplot(1,2,2);i3=im2bw(i,thread);imshow(i3);title(分隔结果);从直方图看出两个峰值的谷值大概为 75,取作阀值分隔结果:分割结実图片二处理:代码:l=imread( test4.jpg ); subplot(1,2,1);i=rgb2gray(l);imhist(i);title(原始图像直方图); thread=50/255;subplot(1,2,2);i3=i
12、m2bw(i,thread);imshow(i3);title(分隔结果);阀值定为50,处理结果如下:分劃结異分隔方法二:分水岭分隔法基本思想:1把图像看作一个三维拓扑地形图2集水盆:局部极小点及其影响区域3分水岭:集水盆的边界4.目标:在图像中找出不同的集水盆和分水岭代码:F=imread( test3.jpg );f=rgb2gray(F);subplot(2,2,1);imshow(f);title(原始灰度图像); f=double(f);););hv=fspecial( prewitt ); hh=hv.;gv=abs(imfilter(f,hv, replicategh=abs(
13、imfilter(f,hh, replicateg=sqrt(gv.A2+gh.A2);L=watershed(g);wr=L=0;subplot(2,2,2); imshow(wr);title( 分水岭);f(wr)=225;subplot(2,2,3);imshow(ui nt8(f);title(分隔结果); rm=imregio nalmi n(g); subplot(2,2,4);imshow(rm);title( 局部极小值);结果:分水靜局部极小值分隔结果局部极小值四:实验结果与分析结果符合预期,分隔图像用双分法结果较好。对于测试图片用中值滤波处理效果较好。五:结论(讨论)1、 实验结论了解了数字图像的基本处理方法,掌握了几种分隔图像方法和去噪滤波方法。2、 讨论对不同的图像需要判断用哪种处理方法为好。六、教师评审教师评语实验成绩签名:日期:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1