图 18 图 19
图 20 图 21
图 22
经过分析对比我们得到了以上一系列实验效果图
21
第五章 结 论
通过此次数字图形处理课程我又熟悉了一种新的知识。由于时间比较匆忙,虽然掌握的不够深刻但是从中也学习到了不少的知识,通过这门课程大致了解了图像的基本成元素及图像处理的基本方法、算法和一些技巧性的处理方法。当然从中也收获了很多乐趣自己慢慢摸索、不断尝试各种方法和新的思路最终在老师有的基础上圆满完成了此次的设计。在这次设计过程中遇到了很多难以预料的事情从软件的安装到设计再到最后的调试。每一步都显得那么艰难,但是到最后满满熟练了以后就轻车熟路了因此在设计的过程中也加入了自己的一些想法。
参考文献
[1] 赵春晖.现代图像处理技术及Matlab实现[M].北京:人民邮电出版社,2001.
[2] 阮秋琦.数字图像处理学[M].北京:电子工业出版社,2001. [3] 何斌.数字图像处理[M].北京:人民邮电出版社,2001. [4]章毓晋.图像分割[M].北京:科学出版社,2000:79-80.
[5]章毓晋.图像处理与分析[M].北京:清华大学出版社,1999:50-52 [6]朱虹.数字图像处理基础[M].北京:科技出版社,2005:109-110. [7]关琳琳,孙媛.图像边缘检测方法比较研究[J].现代电子技术,2008,31(22):96-98.
22
附录:程序
A = imread('e:\\feiji.jpg'); figure;imshow(A);
text(size(A,2),size(A,1)+15, ...
'原图 A ', ... %加上图像标题A 'FontSize',20,'HorizontalAlignment','right'); B=rgb2gray(A); figure;imshow(B);
text(size(B,2),size(B,1)+15, ...
'灰度图 B ', ... %加上图像标题B 'FontSize',20,'HorizontalAlignment','right');
level = graythresh(B); %得到合适的阈值 C= im2bw(B,level); %二值化 figure;imshow(C);
text(size(C,2),size(C,1)+15, ...
'二值化 C ', ... %加上图像标题C 'FontSize',20,'HorizontalAlignment','right');
SE = strel('square',3); %设置膨胀结构元素 D = imdilate(C,SE); %膨胀
SE1 = strel('arbitrary',eye(5)); %设置腐蚀结构元素 E = imerode(C,SE1); %腐蚀 %BW3 = bwmorph(c, 'open'); %开运算 F = bwmorph(C, 'close'); %闭运算 figure;imshow(F);
text(size(F,2),size(F,1)+15, ...
'闭运算 F ', ... %加上图像标题F 'FontSize',20,'HorizontalAlignment','right');
G=edge(F,'canny'); G=~G; %用黑线显示轮廓 figure;imshow(G);
text(size(G,2),size(G,1)+15, ...
'边缘检测 G ', ... %加上图像标题G 'FontSize',20,'HorizontalAlignment','right');G=~G; G1=im2double(A); G1(G)=1; figure;imshow(G1);
text(size(G1,2),size(G1,1)+15, ...
'原图边缘检测后加红线 G1 ', ... %加上图像标题G1 'FontSize',20,'HorizontalAlignment','right');
A1=imresize(B,[400 400]);B1=imresize(G,[400 400]); A2=im2double(A1);B2=im2double(B1); Z=imadd(A2,B2); figure;imshow(Z);
text(size(Z,2),size(Z,1)+15, ...
'边界提取后叠加 Z ', ... %加上图像标题G1 'FontSize',20,'HorizontalAlignment','right');
23