资源描述:
《图像分割和边缘检测.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、岭南师范学院课程名称数字图像处理实验序号实验5实验名称图像分割和边缘检测实验地点综B2072017年10月14日一、实验目的及要求1.了解边缘检测的意义。2.掌握边缘检测的数学方法。3.掌握常用的几种边缘检测算子二、实验原理与内容图像边缘对人的视觉有重要意义。一般而言,人们看一个有边缘的物体首先感觉到的就是边缘。灰度或结构等信息的突变处称为边缘。边缘是一个区域的结束,也是另一个区域的开始,利用该特征可以分割图像。但检测出的边缘不等于实际目标的真实边缘。由于图像数据是二维的,而实际物体是三维的,从三维到二维必然会造成信息丢
2、失,再加上成像过程的光照不均和噪声等因素,使有边缘的地方不一定能检测出来,而检测出的边缘也不一定代表实际边缘。图像的边缘有方向和幅度两个属性,沿边缘方向象素变化平缓,垂直于边缘方向象素变化剧烈。这种变化可用微分算子检测出来。三、实验软硬件环境1.计算机2.Matlab软件四、实验过程(实验步骤、记录、数据、分析)1.基于一阶导数的边缘算子a=imread('y.jpg');f=rgb2gray(a);subplot(2,2,1),imshow(f),title('原始图像');[g1,t1]=edge(f,'robert
3、s',[],'horizontal');subplot(2,2,2),imshow(g1),title('Roberts');[g2,t2]=edge(f,'sobel',[],'horizontal');subplot(2,2,3),imshow(g2),title('Sobel');[g3,t3]=edge(f,'prewitt',[],'horizontal');subplot(2,2,4),imshow(g3),title('Prewitt');从图像结果来看,'Roberts'的边缘检测范围更加大2、基于二阶导
4、数的边缘算子:应用LOG算子检测边缘a=imread('y.jpg');f=rgb2gray(a);subplot(1,2,1),imshow(f),title('原始图像');[g,t]=edge(f,'log');subplot(1,2,2),imshow(g),title('log');3、基于约束条件的最优化检测边缘算子:应用Canny算子检测边缘a=imread('y.jpg');f=rgb2gray(a);subplot(1,2,1),imshow(f),title('原始图像');[g,t]=edge(f,
5、'canny');subplot(1,2,2),imshow(g),title('Canny');五、测试/调试及实验结果分析实验结果如上所示六、实验结论与体会1.结论:基于一阶导数的边缘算子、基于二阶导数的边缘算子、基于约束条件的最优化检测边缘算子,图所得到的图像差异挺大。一阶的采集点数要比二阶和约束条件的要少。这样算法的实现都是需要将图像灰度处理。这点还需要优化。