边缘检测经典算子分析目录拓展实验总结正文附录12345参考文献一、正文(1/8)熟悉opencv开发包编程、分析边缘检测算子阅读Canny的经典文章实验目的各算子运算实验步骤实验配置实验原理Canny算子原理Prewitt算子原理Sobel算子原理一、正文(2/8)(1)实验目的本实验旨在对比分析经典边缘检测算法;编程实现验证得出性能相关比较。具体地,①阅读Canny的经典文章《AComputationalApproachtoEdgeDetection》PAMI1986;②编程实现Sobel、Prewitt、Canny边缘检测算子,并分析③熟悉OpenCV开发包。一、正文(3/8)(2)实验原理A.Sobel算子的原理以A代表原始图像,Gx和Gy分别代表经水平和垂直边缘检测的图像,其公式如下:AGx101202101AGy12100012122yxGGG)arctan(xyGG一、正文(4/8)(2)实验原理B.Prewitt算子原理同Sobel算子,图像中每点均用模板做卷积,依次用作边缘样本去检测,与被测区域最为相似的最大值作为输出,即可将边缘像素检测出来111011111111011111一、正文(5/8)C.Canny算子原理Canny于1986年提出一个优良边缘检测算子应满足准则:①.信噪比准则,即不漏检真实边缘,也不误检非边缘点,使输出的信噪比最大。②.定位精度准则,即检出的边缘点需在实际边缘的中心。③.单边缘响应准则,即单个边缘产生的多个响应概率要低,虚假边缘响应应得到最大抑制。Canny边缘检测算法步骤:Step1:用高斯滤波器平滑图像;Step2:用一阶偏导的有限差分来计算梯度的幅值和方向;Step3:对梯度幅值进行非极大值抑制;Step4:用双阈值算法检测和连接边缘;一、正文(6/8)(3)实验步骤A.实验配置OpenCV(OpenSourceComputerVisionLibrar)是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上。它轻量级而且高效,由一系列C函数和少量C++类构成。本次实验即在win7+opencv2.4.8+vs2013实现完成;Matlab版本为7.1。OpenCV配置的主要步骤如图所示。图1-1OpenCV配置流程一、正文(7/8)B.对图像进行各种算子运算(组1)(a)原图(b)Sobel算子(c)Prewitt算子(d)Canny算子图1-2对原图进行各种算子变换的结果一、正文(8/8)B.对图像进行各种算子运算(组2)(a)原图(b)Sobel算子(c)Prewitt算子(d)Canny算子图1-3对原图进行各种算子变换组2二、实验总结(1/2)Sobel算子对对角边缘的敏感程度比水平和垂直边缘的敏感度更深(如图1-2、1-3(a))。反之,Prewitt算子则对水平和垂直边缘更加敏感(如图1-2、1-3(b))。Prewitt和Sobel算子仅在平滑部分的权值选择上有些差异,但图像产生了一定的模糊且有些边缘还检测不出,检测精度比较低。该类算子较适于图像边缘灰度值明显的情况。1.Sobel和Prewitt算子对噪声有抑制作用。2.Canny算子效果明显优于其他算子。Canny算子则由于他进行了“非极大值抑制”和形态学连接操作,使提取的边缘则十分完整,边缘的连续性也很好,效果明显优于其他算子(如图1-2、1-3(c))。二、实验总结(2/2)此外,考虑实际应用方向以及各算子的特点,还可以得出如下结论:①Sobel算子和Prewitt算子对灰度渐变和噪声较多的图像处理效果会比较好,对边缘的定位也比较准确。②Canny算法不容易受噪声的干扰,能够检测到真正的弱边缘,是最优边缘检测算子。但仍存在一些问题:传统Canny算法用八邻域象素的梯度值判断当前点是否具有局部最大值会导致检测边缘不精确,且会影响后面根据双门限值所得边缘点的连接;传统Canny算法利用固定的高、低门限进行图像边缘提取,缺乏对不同图像的自适应性,且设置完全依赖人工获得,自动化程度低。三、拓展(1/2)对图像加入一定的噪声,然后观察各种算子对噪声的影响。(加入高斯噪声(μ=0,σ^2=0.02))(a)加入噪声后原始图(b)加入噪声后Sobel(c)加入噪声后Prewitt(d)加入噪声后Canny图3-1加入噪声后各算子运算结果三、拓展(2/2)(a)加入噪声后原始图(b)加入噪声后Sobel(c)加入噪声后Prewitt(d)加入噪声后Canny图3-2加入噪声后运算结果装饰由实验结果可知,Canny算子去噪能力降低,检测结果变弱;sobel和prewitt算子基本能够检测出完整边缘信号。四、附录实验程序关键代码四、附录实验程序关键代码五、参考文献[1]JOHNCANNY.AComputationalApproachtoEdgeDetection[J].IEEETransactionsonPatternAnalysisandMachineIntelligence.1986[2]甘金来.图像边缘检测算法的比较研究[D].重庆:电子科技大学[3]曾欢,王浩.图像边缘检测算法的性能比较与分析[J].现代电子技术,2007,14(22):53-58.[4]周心明,兰赛,徐燕.图像处理中几种边缘检测算法的比较[J].现代电力,200,17(3):65-69.[5]DavidA.Forsyth,JeanPonce.ComputerVision:AModernApproach[M].北京:电子工业出版社,2004.谢谢大家!