title( '阈值为0.01的Canny算子边缘检测图像 ');
BW11= edge(I,'Canny',0.001) ; íge调用Canny为检测算子判别阈值为0.001
figure,imshow(BW11);
title( '阈值为0.001的Canny算子边缘检测图像 ');
BW2= edge(I,'Canny',0.005) ; íge调用Canny为检测算子判别阈值为0.005
figure,imshow(BW2);
title( '阈值为0.005的Canny算子边缘检测图像');
BW20= edge(I,'Canny',0.007) ; íge调用Canny为检测算子判别阈值为0.007
figure,imshow(BW20);
title( '阈值为0.007的Canny算子边缘检测图像');
BW21= edge(I,'Canny',0.009) ; íge调用Canny为检测算子判别阈值为0.009
figure,imshow(BW21);
title( '阈值为0.009的Canny算子边缘检测图像 ');
BW22= edge(I,'Canny',0.0001 ); íge调用Canny为检测算子判别阈值为0.0001
figure,imshow(BW22);
title( '阈值为0.0001的Canny算子边缘检测图像 '); 3.2 高斯—拉普拉斯(Log)算法
首先建立函数,在Log边缘算子中,对边缘的检测技术采用的是二阶导数的零交叉点来检测边缘点的算法:
其Matlab程序编写如下:(第一部分图) I=imread ('lena.bmp'); BW1=edge(I,'log',0.00); figure,imshow(BW1);
title('阈值为0.00的LOG算子边缘检测图像'); BW11=edge(I,'log',0.05);
21
figure,imshow(BW11);
title('阈值为0.05的LOG算子边缘检测图像'); BW2= edge(I,'log',0.1); figure,imshow(BW2);
title('阈值为0.1的LOG算子边缘检测图像'); BW21= edge(I,'log',0.2); figure,imshow(BW21);
title('阈值为0.2的LOG算子边缘检测图像'); BW22= edge(I,'log',0.3); figure,imshow(BW22);
title('阈值为0.3的LOG算子边缘检测图像'); (第二部分图) I=imread ('lena.bmp'); BW1=edge(I,'log',0.01); figure,imshow(BW1);
title('阈值为0.01的LOG算子边缘检测图像'); BW11=edge(I,'log',0.001); figure,imshow(BW11);
title('阈值为0.001的LOG算子边缘检测图像'); BW2= edge(I,'log',0.005); figure,imshow(BW2);
title('阈值为0.005的LOG算子边缘检测图像'); BW20= edge(I,'log',0.007); figure,imshow(BW20);
title('阈值为0.007的LOG算子边缘检测图像'); BW22= edge(I,'log',0.009); figure,imshow(BW22);
title('阈值为0.009的LOG算子边缘检测图像'); BW23= edge(I,'log',0.0001); figure,imshow(BW23);
title('阈值为0.0001的LOG算子边缘检测图像');
22
第4章 试验结果的分析、比较及存在的问题
两种算法都分别实现了对bmp格式的数字图像的边缘提取,但实现方法不同,Canny算法采用二维高斯函数的任意方向上的一阶方向导数为噪声滤波器,通过与图像卷积进行滤波;然后对滤波后的图像寻找图像梯度的局部最大值,以此来确定图像边缘。取其最大值作为输出位,运算结果是一幅边缘幅度图像。
而高斯-拉普拉斯算子只需要一个模板,故算法中可省略求两幅缓存图像中最大值的部分,而且它把高斯平滑滤波器和拉普拉斯锐化滤波器结合起来,先平滑掉噪声,再进行边缘检测。
取原始图像图4.1,分别利用Canny算法和高斯-拉普拉斯算法进行边缘提取,所的结果如图所示(侧重于微分算子的独有特性和阈值的选择)。
①Canny算法提取图像:
图4.1 原始图像 图4.2 阈值为0 图4.3 阈值为0.05
23
图4.4 阈值为0.3 图4.5 阈值为0.5 图4.6 阈值为0.6
结果分析:如图所示采用的阈值越大则图像的边缘处理效果越清晰,且边缘点条理显著。但是当阈值超过0.5时图像边缘的有效信息将丢失如图5.6所示,但是图像的边缘点更加明显判断! ②高斯—拉普拉斯算法提取图像:
图4.7 原始图像 图4.8 阈值为0 图4.9 阈值为0.05
结果分析:如图所示采用的阈值越大则图像的边缘处理效果越模糊不清,且边缘点条理无法判断。且当阈值超过0.02时图像边缘的有效信息已经完全丢失如图4.9所示,失去了图像的边缘点判断的有效性! 结果比较:从上述图形看由于边缘检测的一阶导数的局部最大值对应着二阶导数的零交叉点。这样,通过找图像强度的二阶导数的零交叉点就能找到更精确的边缘点。根据这各原理看出高斯-拉普拉斯算子选取的阈值越小则图像的处理效果越好,相同则Canny算子算法则采用的阈值越大则图像的边缘处理效果越清晰。
可以看出Canny算子的边缘检测效果更好。Canny算子具有既能滤去噪声又保持边缘特性的边缘检测的特性。采用二维高斯函数的任意方向上的一阶方向导数为噪声滤波器,通过与图像卷积进行滤波;然后对滤波后的图像寻找图像梯度的局部最大值,以此来确定图像边缘。根据对信噪比与定位乘积进行测度,得到最优化逼近算子。
以上几种边缘提取算法都是针对性比较强的方法,特别是经过数次试验后发现这几种边缘提取算法提取的精度都不算特别高,而且在边缘提取中存在着抗噪性和检测精度的矛盾。若要提高检测精度,则会检测到噪声产生伪边缘,从而导致不合理的轮廓;若要提高抗噪性,则会产生轮廓漏检和位置偏
24
差。实际图像都含有噪声,并且噪声的分布、方差等信息也都是未知的,同时噪声和边缘都是高频信号,虽然平滑滤波运算可消除噪声,但它导致一些边缘模糊,检测出的边缘往往移位。由于物理和光照等原因,实际图像中的边缘常常发生在不同的尺度范围上,并且每一边缘像元的尺度信息是未知的,利用单一固定尺度的边缘检测算子不可能同时最佳地检测出这些边缘。事实上,边缘检测作为视觉的初级阶段,通常认为是一个非良态问题,因而很难从根本上解决。
随着计算机视觉和图像边缘检测技术地发展,迫切需要视觉早期阶段的突破即边缘检测技术的突破,努力寻求算法较简单、能较好解决边缘测精度与抗噪声性能协调问题的边缘检测算法。相对于以上所说的种种经典的边缘检测方法,许多学者基于对理想边缘检测的分析和对边缘特性某一方面的改进,提出了很多卓有成效的新的边缘检测方法,取得了较好的效果。数字图像的边缘提取技术未来的发展空间还很广阔,应该继续努力寻求适应性更广、局限性更小的方法。在程序的编译过程中,产生了找不到工具箱函数、句法错误等错误,经仔细检查和运行,才顺利通过。调试运行过程不顺利,对MATLAB语言仍旧不够精通。上面所述几种方法存在有边缘像素单元宽、噪声干扰较严重等缺点,即使采用一些辅助的方法去噪,也相应的会带来边缘模糊等难以克服的缺陷。
经典的边缘检测方法由于引入了各种形式的微分运算,从而必然引起对噪声的极度敏感,执行边缘检测的结果常常是把噪声当作边缘点检测出来,而真正的边缘也由于受到噪声干扰而没有检测出来。因而对于有噪声图像来说,一种好的边缘检测方法应该具有良好的噪声抑制能力,同时又有完备的边缘保持特性,而这些优点正式Canny算子所具备的。
结束语
边缘检测作为数字图像分割的一个重要内容一直是人们研究的热点。在实际应用中有许多成功的例子,已将一些专用领域的成熟算法嵌入单片机,制成便携式设备,如指纹考勤机、人脸的识别器等。以及前面提及的现阶段我国的视频交通流检测及车辆识别系统已在中国某些大城市交通流量的检测中应用,效果良好。利用电视视频技术、计算机图像边缘检测技术、模式识别技术及通信技术等多项技术
25
为一体的计算机视频监测技术对交通进行监测和控制是一个具有广阔应用前景的研究方向。
它的目标就是用计算机视觉技术,通过分析摄像机拍摄的交通图像序列来对车辆、行人等交通目标的运动进行边缘检测作、定位、识别和跟踪,并对检测、跟踪和识别的交通运动目标的交通行为进行分析和判断,特别是在车牌定位、字符车牌分割和车牌字符识别技术上的特殊贡献巨大,从而既完成各种交通流数据的采集,又进行与交通管理有关的各种日常管理和控制,形成一个全方位立体化的数字交通监控网,真正实现交通管理智能化。因此,改变我国交通以人管理为主的被动局面,实现城市交通管理智能化都具有十分重要的现实意义。
参 考 文 献
[1] (美)冈萨雷斯等,阮秋琦等译,数字图像边缘检测(第二版),电子工业出
版社
[2] 章毓晋,图像边缘检测和分析,清华大学出版社,1999 [3] 涂建华,图像边缘检测与分析,科学出版社,1994
[4] 何斌、马天予等,MATLAB数字图像边缘检测,人民邮电出版社
[5] 杨支灵、王开,MATLAB数字图像获取、处理及实践应用,人民邮电出版社 [6] 魏弘博,基于粗糙集的图像增强和边缘检测
[7] 郑慕之,MRI二维图像边缘检测及可视化研究,南京航空航天大学,2005 [8] 郑翔、黄艺云,Kirsch边缘检测算子的快速算法,通信学报,1996
26