文档介绍:基于Canny算子的图像边缘检测算法-电气论文
基于Canny算子的图像边缘检测算法
石桂名1,2,魏庆涛1,孟繁盛1
(,辽宁大连116052;,辽宁大连116026)
摘要:图像边缘检测是一种非常经典的基于计算机视觉技术的图像处理技术,主要是根据图像的某种特定信息,把目标的边缘与周围的区分开来。回顾了几种传统的边缘检测方法,并分析它们的优缺点,详细阐述了Canny算子的检测原理和实验方法。实验结果表明Canny算子是最优的边缘检测算子,能够较稳定地对目标图像进行边缘信息提取,得到较好的检测效果。
关键词 :图像处理;边缘检测;Canny算子;参数选择
中图分类号:-34 文献标识码:A 文章编号:1004-373X(2015)12-0092-02
收稿日期:2015-01-16
基金项目:大连科技学院科学研究一般项目(KJY201406)
边缘检测算法是图像处理中的一个重要部分,本文比较了几种常用的传统边缘检测算法,分析Canny算法的含义、原理和步骤,并将Canny算法应用于车牌和动物的检测。实验仿真结果验证了Canny 算法的良好性能:提取缘信息的同时,能很好地抑制噪声的干扰,提高了图像边缘检测效果,但对于某些细节过于复杂的图像可能丢失一些信息。
1 边缘检测算法简介
Roberts算子是一种利用局部差分来寻找边缘的边缘检测算子,它处理的边缘效果不是很好,不够平滑。Sobel算子是滤波算子,用于提取边缘时,可以利用快速卷积函数,方法简单,使用率较高,但是不能严格地模拟人的视觉生理特征,提取的图像轮廓并不能令人满意[1]。Prewitt算子是一种基于一阶微分算子的边缘检测,利用像素点周围邻点的灰度差,在边缘处达到极值检测边缘,除掉一些假边缘,起到了平滑噪声的功能。Lapla-cian算子是一个二阶微分算子,定义为梯度(-f )的散度(- - f )。LoG 算子也就是高斯拉普拉斯函数,常常用于数字图像的边缘提取和二值化,它结合了Gauss平滑滤波器和Laplacian锐化滤波器,效果更好。Canny算子是一个多级边缘检测算法,边缘检测效果最好[2-3]。
2 Canny 边缘检测算子
Canny算法的含义
1986年,John ,命名为Canny边缘检测算子,其含义如下[4]:
(1)最佳检测:能够检测到足够多的图像中实际的边缘,减少真实边缘的漏检率和误检率。
(2)最佳定位准则:检测到的边缘点的位置距离实际边缘点的位置最近。
(3)检测点与边缘点一一对应:算子检测的边缘点与实际边缘点是一一对应。为了满足这种条件,最优检测指数函数,它与高斯函数的一阶导数极为相似。
Canny算法的步骤
用高斯滤波器平滑图像
图像在进行边缘检测时,首先要处理原始数据,以便于更好地实现边缘检测图像分割效果。所以开始时就需要原始数据与高斯mask做卷积,处理后的图像比原来模糊了一些,有利于图像边缘检测的进行。
由于高斯函数经傅里叶变换后还是高斯函数,能构成一个在频域具有平滑性能的低通滤波器:
用一阶偏导的有限差分计算梯度的幅值和方向