黄时杰 曾建华
摘要:采用五种边缘检测算子对数字图像开展了检测,并进行了比较与分析.探究了阈值对图像边缘效果的影响.分析了不同算法在边缘的完整性、连续性、对噪声的敏感性等方面表现出的不一样的特性.此外,分别采用直方图阈值法和Otsu法进行了图像分割,均获得了很好的分割效果.理想的研究结果为更高级别的图像处理奠定了基础.
关键词:边缘检测;边缘检测算子;直方图;图像分割;阈值
中图分类号:TP391.41 文献标识码:A 文章编号:1673-260X(2019)09-0047-03
在开展图像处理时,会发现图像结构中具有突起部分,这是一个区域的终端而又是另一区域的开始,这种不连续性就称为边缘.图像的边缘是图像的基本性质,图像分析和理解的第一步通常就为边缘检测.[1-3]而图像分割则是指将图像划分成多个非交替部分的集合.在本文中,我们采用六种边缘检测算子对数值图像开展了边缘检测,并对检测结果进行了比较.同时,采用不同的灰度阈值法实现了图像分割.
1 边缘检测算子
边缘就是图像中色彩或者灰度值变化剧烈的地方,所以可以在灰度值变化较为强烈的地方微分运算,得到和其他地方不一样的较大的数值.[4,5]边缘检测算子主要分为两类:[6]一类是以一阶导数为基础,如:Roberts算子、Sobel算子、Prewitt算子等;一类是以二阶导数为基础,如:Laplacian算子、Log算子、Canny算子等.[7-9]
1.1 Roberts算子
Roberts算子是采用局部差分法寻找边缘、通过对角线相邻两像素之差近似梯度幅值來检测边缘的算子,[10]其模板如图1所示.为了避免负号,两个模板进行卷积时通常取绝对值.
1.2 Log算子
Log算子检测边缘首先是要得到平滑图像I(x,y),[11]这可通过高斯滤波器函数G(x,y)与原始图像f(x,y)卷积实现
“*”为卷积符号.再通过拉普拉斯算子?塄2获得平滑图像I(x,y)的二阶方向导数M(x,y):
其中?塄2G(x,y)即为Log算子.图像f(x,y)的边缘则可由求M(x,y)的零穿点轨迹获得.
1.3 Prewitt算子
Prewitt算子是依据局部差分平均检测图像边缘,[12]算子形式:
Sobel算子采用的算法是先进行加权平均,再微分运算,[13]算子的算法如下:
Sobel算子水平方向和垂直方向的模板如图3所示,它的使用方式和Prewitt算子一样.
1.5 Canny算子
Canny算子是基于信噪比标准、定位精度标准和单边响度标准提出,Canny算子求边缘点的首先也要通过高斯平滑滤波器H(x,y,?滓)与图像f(x,y)的卷积实现得到平滑图像G(x,y):[14,15]
“*”代表卷积符号.然后通过一阶偏导、非极大值抑制和双阈值算法等实现边缘检测.
2 基于灰度的图像分割方法
对于图像分割,我们采用了较简单的灰度门限法,其中灰度阈值的选择非常关键.[16]下面简述两种确定灰度阈值的方法.
2.1 直方图阈值法
该方法的阈值选取步骤如下:
(1)找出直方图的两个最大的局部值:zi,zj;
(2)求zi,zj间直方图最低点zk;
(3)用h(zk)/min(hzi),h(zj))测试直方图的平坦性;
(4)若上述值小于门限T,将zk作为分割门限.
2.2 Otsu法(自动阈值法)
Otsu法是使类间方差最大而推导出阈值的一种自动阈值法,MATLAB中实现Otsu法的函数是graythresh.
3 实验结果与分析
3.1 Sobel算法和Canny算法的图像边缘检测
程序通过MATLAB语言编写,Sobel算法和Canny算法进行边缘检测的结果如图4和图5所示.从图4和图5可以看出,随着阈值增大,边缘效果逐渐变得明显.
3.2 不同算法图像边缘检测的比较
我们也通过MATLAB编程采用不同的算法进行了图像的边缘检测,如图6所示.根据检测结果判断,Roberts算子检测到的图像边缘比较细,但连续性不理想,一些边缘信息缺失.Sobel算子和Prewitte算子检测到的边缘较连续,并且它们对噪声不敏感,但线条稍微显粗,出现了伪边缘.Log算子检测到的图像边缘更连续,边缘也较细,但对噪声敏感.相比其他算子,Canny算子呈现出了最理想的检测效果:边缘完整、细节清晰和连续性好.
3.3 直方图阈值法和Otsu法的图像分割
通过MATLAB编程,我们采用直方图阈值法和Otsu法实现了图像分割,如图7所示.同时,也采用Otsu法实现了图像分割,如图8所示.两种分割方法都取得了很好的分割效果.
4 结论
通过MATLAB编程,我们采用不同的算法开展了图像的边缘检测,发现阈值越大,图像的边缘效果越好,不同的算法检测边缘的完整性、连续性、对噪声的敏感性也表现出不一样的特征.此外,我们分别采用直方图阈值法和Otsu法实现了图像分割,这两种阈值分割法都呈现了计算简单、运算效率高和速度快的特点.
——————————
参考文献:
〔1〕邹福辉,李忠科.图像边缘检测算法的对比分析[J].计算机应用,2008,28(z1):215-216,219.
〔2〕段瑞玲,李庆祥,李玉和.图像边缘检测方法研究综述[J].光学技术,2005,31(3):415-419.
〔3〕王博学,王夏黎,赵晓娜,等.动态背景下基于边缘检测的道路识别[J].计算机技术与发展,2018,28(11):146-149.
〔4〕姜炳旭,刘杰,孙可.Sobel边缘检测的细化[J].沈阳师范大学学报(自然科学版),2010,28(4):503-506.
〔5〕孙根云,柳钦火,刘强,等.图像的模糊边缘检测算法[J].光电工程,2007,34(7):141-144.
〔6〕熊秋菊,杨慕升.数字图像处理中边缘检测算法的对比研究[J].机械工程与自动化,2009,38(2):43-44,47.
〔7〕谭艳,王宇俊,李飞龙,等.几种典型的图像边缘检测算法的分析比较[J].电脑知识与技术,2012,8(7):1604-1608.
〔8〕张瑞华,吴谨.基于曲波变换和Susan种子点生长的边缘检测算法[J].华中师范大学学报(自然科学版),2011,45(3):386-390,411.
〔9〕张红霞,王灿,刘鑫,等.图像边缘检测算法研究新进展[J].计算机工程与应用,2018,54(14):11-18.
〔10〕沈峰亭.边缘检测在视觉图像中的应用分析[J].微计算机信息,2008,24(9):304-305.
〔11〕杨金刚.基于数学形态学的遥感图像边缘信息提取技术研究[D].成都:成都理工大学,2011.
〔12〕欧温暖.几种常见边缘检测算子的分析比较[J].现代计算机(专业版),2010,27(5):75-77.
〔13〕陈天华.数字图像处理[M].北京:清华大学出版社,2007.
〔14〕胡盛松.基于Beamlet变换的线特征提取方法研究[D].汕头:汕头大学,2014.
〔15〕徐德明,万长林.可抗噪声的Canny改进边缘检测算法[J].计算机系统应用,2017,26(1):201-205.
〔16〕郑丽萍,李光耀,姜华.灰度图像最大熵分割方法的改进[J].计算机工程与科学,2010,32(12):53-56,88.