图像边缘检测与分割的MATLAB实现

2019-09-10 07:22黄时杰曾建华
赤峰学院学报·自然科学版 2019年9期
关键词:边缘检测直方图图像分割

黄时杰 曾建华

摘要:采用五种边缘检测算子对数字图像开展了检测,并进行了比较与分析.探究了阈值对图像边缘效果的影响.分析了不同算法在边缘的完整性、连续性、对噪声的敏感性等方面表现出的不一样的特性.此外,分别采用直方图阈值法和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.

猜你喜欢
边缘检测直方图图像分割
用直方图控制画面影调
例析频率分布直方图
中考频数分布直方图题型展示
一种改进的分水岭图像分割算法研究
唐卡图像边缘提取
一种图像超像素的快速生成算法
基于鲁棒性的广义FCM图像分割算法
水下大坝裂缝图像分割方法研究 