基于android平台图像处理的轮廓提取研究
2016-04-28易辉何友全李源
[易辉 何友全 李源]
基于android平台图像处理的轮廓提取研究
[易辉 何友全 李源]
摘要
采用Roberts算子检测边缘,并分割图像后,使用数学形态学处理改进图像,取得并提取边界点,利用八链码存储图像轮廓。实验结果表明此方法在一定程度上提高单像素点的轮廓提取性能。
关键词:Roberts边缘检测 预处理 图像增强 八链码 轮廓提取
易辉
男,重庆交通大学信息科学与工程学院,研究生,研究方向:android平台下的图像处理。
何友全
重庆市重庆交通大学信息科学与工程学院,教授、研究生导师,研究方向:图像处理、数据库等 。
李源
男,重庆交通大学信息科学与工程学院,研究生,研究方向:GIS。
引言
轮廓提取作为图像处理学的基础技术,一直研究的重点和热点。图像的边缘代表图像信息,包含了图像特征,而轮廓包含更多的信息,从图像的轮廓,人们即可辨识不同的物体【1】。现有的轮廓提取方法主要是利用边缘检测算子进行边缘的提取,然后再进行图像增强和修补。
随着研究的深入,出现了各种各样的新方法。本文利用图像预处理得到二值图像,然后通过边缘检测运算、轮廓提取等一系列程序对二值图像进行处理,最后以链码的形式存储图像的轮廓特征,轮廓跟踪原理图如图1。
图1 轮廓跟踪提取原理图
1 图像预处理
原始图像经过预处理(灰度变换、去噪等)得到二值化图像,处理去掉图像中无意义的像素。
图2 原始图像
图3 灰度化图像
2 轮廓提取
得到灰度化图像后,提取图像轮廓,包括边缘检测、改进二值化、数学形态学处理等。
2.1Roberts边缘检测【2】
Roberts算子由Roberts 提出的一种利用局部差分算子寻找边缘的算子,它的原理是计算2×2 邻域的对角线导数,如下:
G[ i ,j ]又称为 Roberts 交叉算子。在实际应用中,可以近似为如下:
用卷积模板,上式变成:
其中
Gx和Gy由下面的模板计算:
图4 Robert边缘检测算子
选取适当的门限TH后,可作如下判断:G[ i ,j ]>TH[i ,j]为阶跃状边缘点,其中{G [ i ,j]}为一个二值图像,即图像预处理后的图像边缘。
2.2图像修正【3】
为了增强实验效果,对边缘检测后得到的图像使用迭代法进行分割。迭代是基于逼近的思想,是一种不断用变量的旧值递推新值的过程【4】。具体体现在如下方法就是不断分割图像,取得最新的阈值。阈值的改进策略是迭代算法的关键。具体的步骤如下。
(1)选择一个近似阈值作为估计值的初始值
式中,Zmin和Zmax分别表示图像中的最小和最大灰度值。
(2)利用阈值把图像分割成两组,R1和R2,其中
(3)计算区域R1和R2的灰度均值Z1和Z2,其中
式中,f(i,j)是图像上(i,j)点的灰度值,N(i,j)是(i,j)点的权重系数,一般N(i,j)=1.0。
芪雪浸膏剂中大黄素、大黄酸和毛蕊异黄酮在大鼠体内的药动学研究 …………………………………… 吴 磊等(21):2935
如此重复多次后,可以得到最佳阈值,分割错误也将极大的降低。这种分割算法的效果图好于用初始阈值直接分割图像的效果图。
2.3噪声处理
然而修正得到的二值图像依然可能会存在问题,如断线、凹洞、毛刺等,进而造成图像重要信息缺失。尤其存在噪声的情况下,若直接进行轮廓提取,会扩大噪声,扭曲图像原本的边缘信息,得到包含断点、毛刺等模糊的轮廓,本文采取数学形态学消除这种缺陷。该方法运用形态学代数运算子(腐蚀运算子、膨胀运算子、开算子和闭运算子等)修补图像,而本文中采用的是闭运算子,在一定程度上可消减缺陷。
3 图像信息存储
3.1方向链码
像素间的连通性是图像领域的一个基本概念,它简化了许多光栅图像概念的定义,如区域和边界灯。本文采用Freeman提出的的8链码,对于一个八连通的图像区域来说,区域中的每个像素,它的周围总存在8个像素与它连接,可以为这八个像素设定从0到7的方向编号,如图4。这样一旦确定了像素P的位置,以及某个邻接像素的编码,就可以知道邻接像素的位置。实质上链码是一串指向符的数字序列。链码表示就是从某点开始观察某一曲线的走向并用相应的指向符来表示,结果形成一个数字序列,能够方便快捷的记录任意曲线或闭合图像的边界。
图5 链码的8邻域方向
3.2轮廓链码跟踪提取的实现方法
轮廓链码跟踪提取从上到下,从左到右的顺序搜索,最后可得到轮廓链码【5】,策略如下:
(l)首先选择任意某个角点,记为第一个边缘点P1。
(2)搜索第2个边缘点P2,由Pl的坐标值推倒出P2的坐标值。
第1个边缘点Pl为当前边缘点,坐标为(i,j),第2个边缘点P2为下一个边缘点,坐标为(i1,j2)。由于P1的8个邻点是产生P2的侯选点,采用如下由Pl到P2的搜索方法:
①按照下、左、上、右的顺判别Pl邻域中0-像素的位置ds,以邻域编号n表示。规则如下:当其下邻点为0,则ds=6;当其下邻点不为0,而左邻点为0,则ds=4;当下、左邻点都不为0,而上邻点为0,则ds=2;当下、左、上邻点都不为0,而右邻点为0,则ds=0。
②由0-像素位置出发,逆时针方向在8个侯选点中搜索1-像素,第一次搜索得到的1-像素即为P2。
(3)搜索第i,…边缘点Pi。
以P-1为起始点,开始搜索Pi,以此类推。
(4)若Pi等于P1则结束搜索,否则重复步骤(3)。
4 实验结果及分析
在android平台下,选用海星图像进行提取实验,效果图如图5。试验表明,本文这种轮廓提取法有一定实用性,能得到较为准确的边缘图像。
图6 轮廓提取过程
5 结论
边缘跟踪提取轮廓,然后以链码的形式储存,这种方法思路清晰、快捷,且在提取轮廓的时候,不断迭代进行,前后依赖,并且持续修正,这样对于边缘点的判断更合理,更清晰,跟踪后产生的轮廓边缘宽度只有一个像素。试验结果表明该方法提取的轮廓链码具有高清晰、高精度、单像素等优点。
参考文献
1周亚罗,潘晓娣,曹秀爽等.基于图像处理的轮廓提取方法应用[J].唐山学院学报:自然科学版,2009,22(6):72-75
2甘金来.图像边缘检测算法的比较研究 [M].成都:电子科技大学,2005,5:7-10
3魏志成,周激流.一种新的图像分割自适应算法的研究[J].中国图像图形学报,2003,5(3):216-220
4http://baike.baidu.com/link?url=iw38ppPe033B STZPUng UZu Xc XDIhhh I7-1t5 Fc Ae3 Byxbuyx_ aos4TwIR2fnWqG4bErKQhABK6lodqDTC-woR
5史晶晶.计算机拼图中形状识别算法研究 [M].北京:首都师范大学,2009,4:12-15
收稿日期:(2016-02-02)
DOI:10.3969/j.issn.1006-6403.2016.03.003