APP下载

基于角点检测的规则几何图形识别算法研究

2019-09-10关静楼飞

现代信息科技 2019年24期
关键词:边缘检测

关静 楼飞

摘  要:目前基于链码特征、霍夫变换等方法的规则几何图形的计算机识别算法,计算量较大,处理时间长,因此本文提出一种基于角点检测的算法,通过提取几何图形的角点个数确定其形状。利用MATLAB进行实验仿真,对圆、三角形、四边形、五边形、六边形和五角星形进行识别,结果表明基于角点检测的规则几何图形的识别算法计算准确,正确率较高。

关键词:规则几何图形;边缘检测;角点检测

中图分类号:TP391.41       文献标识码:A 文章编号:2096-4706(2019)24-0071-03

Abstract:The computation of regular geometry recognition algorithm based on chain code character or hough transform is heavy,and the time is long,so this paper proposed a algorithm based on corner detection,which obtain the shape by extracting the corners number of regular geometry. The recognition of circle,triangle,quadrilateral,pentagon,hexagon and pentagram is based on MATLAB,and experiment result state that the regular geometry recognition algorithm which based on corner detection were calculated accurately,and the accuracy is higher.

Keywords:regular geometry;contour detection;corner detection

0  引  言

利用计算机对规则几何图形进行识别,在机器人定位、目标追踪、基于几何图形的自动报靶系统等领域都有广泛应用[1]。在日常生活中,GPS导航和城市道路网规划导航等也需要用到几何属性的测量。场景识别是一种利用计算机实现人的视觉功能的技术,通过计算机对图像或视频进行处理,自动识别和理解图像和视频中的场景信息[2]。对几何图形的形状进行识别,包括图像处理和图像识别两部分,常用的方法有霍夫变换、链码特征、不变矩等。这些传统的算法虽然准确率较高,但计算速度较慢,数据量大,不适用于目标追踪、定位等需要快速检测识别的领域。

本文提出基于角点检测的几何图形识别算法,先对采集的图像进行预处理,然后提取几何图形的边缘轮廓,最后基于轮廓提取图形的角点确定其形状。最终实验结果表明本文所用方法能够准确识别规则几何图形的形状,速度较快,正确率高,且对于图像的旋转、平移变化等具有不变性。

1  图像预处理

1.1  彩色图像的灰度化

在对图像进行分析识别前,首先要对其进行预处理,包括图像的灰度化、增强等,突出重要的信息,抑制非重要信息。彩色图像包含色彩信息和亮度信息,在本文中,色彩是非重要信息,可以忽略,因此为了减少计算量,需将彩色图像转化为灰度图像,只包含图像的亮度信息。

彩色图像包含了彩色信息和亮度信息,灰度图像则只有亮度信息。若彩色图像中RGB的值均相等或进行加权平均变为亮度信息,即可转化为灰度图像。彩色图像转化为灰度图像的公式如下:Gray value=0.299R+0.587G+0.114B              (1)

式中,R、G、B分别为彩色图像中对应像素点的红色分量、绿色分量和蓝色分量。根据人眼对颜色的敏感度,可选取不同的权值,如式(1)所示。同时,上式中的运算为浮点运算,速度较慢,为了提高运算速度,式(1)可轉换为下式:

1.2  图像增强

图像增强的目的是为了减少噪声对图像的影响,突出重要的像素部分,抑制不重要部分,主要方法有均值滤波、中值滤波和高斯滤波等。空间滤波的实质是利用可移动的有限长度的窗函数,在灰度图像中逐点移动,计算滤波后每个像素值,通过对像素值的改变实现图像增强。

均值滤波也称平滑线性滤波,其具体方法是:对当前某个待处理的像素值,选择一个模板,在该模板中待处理像素为中心像素,其像素值用模板中所有像素的均值代替。该方法对图像的锐化程度有所减缓,通常用来减少高斯噪声等。设f(a,b)为均值滤波处理后的像素点的灰度,m为窗函数内像素点的总个数,表达式如下:

均值滤波有很大的缺点,因为它不能很好地抑制噪声,会丢失图像的细节部分,使图像失去原来的清晰度。

高斯滤波的窗函数实际上是高斯函数,通过高斯核的卷积算子,对像素点的邻域进行加权平均。高斯滤波可以把远大于或小于其邻域值的像素点进行平均,达到消除噪声的目的。二维高斯核的表达式如下:

滤波又分为线性滤波和非线性滤波[3],线性滤波具有低通过性,在消除噪声的同时也会模糊图像的边缘,而中值滤波是非线性滤波,可以避免模糊的缺点。其具体方法为:在模板内把像素点根据像素值大小进行排序,最后生成递增或者递减的序列,然后选取其中的中值,用这些中值来替换原来的像素值,其表达式如下:

经过实验比较,中值滤波比均值滤波、高斯滤波效果较好,去噪时不会对原本图像造成损伤和影响,所以本文中将采取中值滤波。对图1中的几何图形进行中值滤波,结果如图2所示。

1.3  图像的二值化和取反

图像的二值化是将灰度图像转化为黑白图像,其原理是选取合适的阈值,将像素点中超过该阈值的灰度值设置为255,即白色,小于该阈值的灰度值设置为0,即黑色。阈值可通过图像特点选取某一固定值,也可用最大类间方差法来确定。经过二值化处理的图像,将目标与背景分为两部分,对于后续的处理十分方便,大大降低了计算量和处理难度。本文中选择最大类间方差法自动确定阈值,当灰度图像某一个阈值使方差值变得最大,同时两个区域错分也是最小时,这个阈值就是最适合的阈值。

图像二值化后再进行取反,即将原图的黑色像素点变为白色,而白色像素点变为黑色。对圆形图像分别进行二值化和取反操作后,结果如图3所示。

2  图像的边缘检测和角点检测

2.1  边缘检测算法

几何图形的形状计算通过其角点个数确定,而提取角点是基于图像的边缘轮廓进行。图像的边缘包含了大量重要的信息,边缘检测算法通常基于它的一阶或二阶导数算子进行,如Sobel、Robert、Laplace和Canny算子。

Sobel算子对噪声有平滑的作用,有一定程度上能够降低噪声,但是不能很好地定位到图像的边缘;Robert相比其他算子而言能更好地检测到边缘的细节,但是不能有效减少噪声[4];Laplace是二阶微分算子,通过计算图像的二阶导数极值检测边缘;Canny算子于1986年被John Canny提出,是应用最广泛且最成功的算法之一,通过对图像先平滑然后对灰度值求导的方法检测边缘[5]。本文利用Canny算子检测图像的边缘,具体过程如下:

(1)图像梯度的幅值和方向:图像的边缘变化率比较大,可用梯度来衡量。根据梯度算子可得到灰度值在x、y方向上的偏导数的矩阵。

(2)非极大值抑制:图像的梯度幅值矩阵中,元素值大并不能表示该点就是边缘点,因此需要进行非极大值抑制。非极大值抑制,简单来说就是判断在局部范围内当前像素点的梯度值在该梯度方向上是否为最大值,如果不是,该像素点对应的灰度值则设为0,该像素点也不属于边缘点[6]。

(3)滞后阈值算法:进行非极大值抑制之后,边缘上会有一些离散的点,这些不连续的点也需要处理,所以要使用双阈值。如果像素点的梯度的幅值大于高阈值的所有的点,就可以确定为边缘点,如果小于最低的阈值,则可以排除。

(4)边缘检测:经过双阈值过滤后,剩下的就是梯度幅值在高低阈值中间的点。如果这些点的8邻域内存在一个点大于低阈值,也认为是边缘点。遍历完所有的像素点,将边缘点的灰度值设置为255,非边缘点的灰度值设置为0,结果如图4所示。

2.2  角点检测算法

从上世纪七十年代第一个Moravec算子诞生算起,经过几十年的发展,有Moravec算子、Forstner算子、SUSAN算子和Harris算子等。本文用Harris算子对角点进行检测,该算法认为若某像素点上某窗口向任意方向移动都导致图像灰度的明显变化,则该像素点则为角点[7]。设窗口平移[m,n]产生灰度变化为:

3  实验分析

利用上述算法,本文分别对三角形、四边形、正五边形、正六边形和五角星形的形状进行检测,先将彩色图像转化为灰度图像,并用中值滤波减少噪声对图像的影响,将图像转为二值图,然后进行边缘检测,提取几何图形的轮廓,最后基于图形的轮廓检测角点,通过角点个数确定其形状。识别结果如图6所示。

为了验证本文算法的有效性,选用100张规则几何图形进行试验,试验证明总体识别率在95%以上,成功率较高。

4  结  论

本文提出基于角点检测的算法对规则几何图形进行识别,通过图像预处理、边缘检测和角点检测计算几何图形的角点个数从而确定其形状。试验结果表明本文所设计的算法过程简单,计算量较小,同时识别率高,速度较快。

参考文献:

[1] 孙来军,李江游,候影,等.一種规则几何图形的计算机识别方法 [J].微型机与应用,2011,30(9):42-45.

[2] 宋杰,孟朝晖.图像场景识别中深度学习方法综述 [J].计算机测量与控制,2018,26(1):6-10.

[3] ARASI R E P,SUGANTHI M. A Clinical Support System for Brain Tumor Classification Using Soft Computing Techniques [J]. Journal of Medical Systems,2019,43(5):1-11.

[4] 林生佑,石教英.基于HVS的彩色图像边缘检测算子 [J].中国图象图形学报,2005(1):43-47+130.

[5] CANNY J. A Computational Approach To Edge Detection [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,1986,8(6):679-698.

[6] 关静.人工路标拓扑模式构建与识别及其应用研究 [D].镇江:江苏科技大学,2017.

[7] 张小洪,李博,杨丹.一种新的Harris多尺度角点检测 [J].电子与信息学报,2007(7):215-218.

作者简介:关静(1992-),女,汉族,山西运城人,助教,硕士,研究方向:图像处理与模式识别。

猜你喜欢

边缘检测
基于数学形态学的一种改进CO2焊熔池图像边缘检测算法
离散过程神经网络和CGA相融合的边缘检测
基于图像的物体尺寸测量算法研究
唐卡图像边缘提取
水下大坝裂缝图像分割方法研究 
基于多算法融合的多车牌定位方法研究
基于高精度星敏感器的星图降噪研究
基于灰度的图像边缘检测与匹配算法的研究
基于TMS320的跑道异物监测系统
基于边缘检测和色彩空间的混合车牌定位算法