图像分割技术论文(2)
图像分割技术论文
图像分割技术论文篇二
图像分割技术研究与应用
摘 要: 图像分割是指将一副图像分解为若干互不交叠的有意义且具有相同属性的区域。图像分割是数字图像处理中的一项关键技术,其分割的准确性直接影响后续任务的有效性,因此具有十分重要的意义。现有的分割算法在不同程度上取得了一定的成功,但是图像分割的很多问题还远远没有解决,该方面的研究仍然面临很多挑战。文章分析了现有图像分割的各种算法的特点以及存在的问题,对基于图像分割的经典算法进行改进,实现了一种新的分割方法,并将其应用到机器视觉的相关产品当中,取得了良好的效果。
学习啦在线学习网 关键词: 数字图像处理; 图像分割; 分割算法; 机器视觉
学习啦在线学习网 中图分类号:TP3 文献标志码:A 文章编号:1006-8228(2015)01-26-03
Research and application of image segmentation technology
学习啦在线学习网 Wang Wei1, Zeng Xiaoneng2
(1. Changsha Information technology School, Changsha, Hunan 410116, China; 2. Central South University)
学习啦在线学习网 Abstract: Image segmentation is about decomposing an image into a number of mutually non-overlapping region while having the same attribute. It is a key technology of digital image processing, which directly affects the effectiveness of segmentation accuracy of subsequent tasks, hence having important significance. The existing segmentation algorithm achieved success to some extent, but the image segmentation problem is far from being solved, research in this area still faces many challenges. The existing problems of image segmentation methods are analyzed. The classical algorithm for image segmentation is improved. A new segmentation method is given and applied to the machine vision-related products which achieve good results.
学习啦在线学习网 Key words: digital image processing; image segmentation; segmentation algorithm; machine vision
0 引言
学习啦在线学习网 图像分割是数字图像处理中的一项关键技术,它通常用于对图像进行分析、识别、编码等处理之前的预处理环节,其分割的准确性直接影响后续任务的有效性,因此具有十分重要的意义。自上世纪70年代以来,已经出现了多种图像分割方法,而每一种图像分割方法都是为了解决一些特定的应用问题。该技术成功地应用于许多领域,例如:交通路口的电子警察、光学字符识别(OCR)、指纹识别、机动车牌号识别等等。
学习啦在线学习网 图像分割是指将一副图像分解为若干互不交叠的有意义且具有相同属性的区域。好的图像分割应具备的特性:①分割出来的各区域对某种性质如灰度、纹理而言具有相似性,区域内部比较平整;②相邻区域对分割所依据的性质有明显的差异;③区域边界上是明确和规整的[1]。
学习啦在线学习网 大多数图像分割方法只是部分满足上述特征。如果强调分割区域的同性质约束,则分割区域很容易产生大量小孔和不规则边缘;若强调不同区域间性质差异的显著性,则易造成不同区域的合并。具体处理时,不同的图像分割方法总是在各种约束条件之间寻找一种合理的平衡。
学习啦在线学习网 虽然图像分割方法已经有了很大的发展,但由于它的复杂性,仍有很多问题没有很好地得到解决。因此,人们至今还一直在努力发展新的、更有潜力的分割算法,以期实现更通用、更完美的分割结果。实践表明,对图像分割理论与技术的进一步研究仍然具有非常重要的意义。
学习啦在线学习网 本文首先对数字图像分割的一些经典分割方法作了概述,然后分析了现有项目开发中使用的图像分割方法所存在的问题,最后基于经典算法进行技术改进,实现了一种新的分割方法,并将其应用到实际的产品当中,取得了良好的效果。
学习啦在线学习网 1 图像分割方法的现状
从上世纪五十年代开始,学者一直热衷于研究图像分割技术。迄今为止,已提出上千种图像分割算法,依这些算法对图像处理的特点,主要可分为以下几类方法[2]。
学习啦在线学习网 1.1 阈值分割法
阈值分割法作为一种常见的区域并行技术,它通过设置阀值,把像素点按灰度级分若干类,从而实现图像分割。由于是直接利用图像的灰度特性,因此计算方便简明、实用性强。显然,阈值分割方法的关键和难点是如何取得一个合适的阈值,而实际应用中阈值设定易受噪声和光亮度影响。近年来关于阈值分割法主要有[3]:最大相关性原则选择阈值法、基于图像拓扑稳定状态法、灰度共生矩阵法、熵法、峰值和谷值分析法等。其中,自适应阈值法、最大熵法、模糊阈值法、类间阈值法是对传统阈值法改进较成功的几种算法。更多的情况下,阈值的选择会综合运用两种或两种以上的方法,这也是图像分割发展的一个趋势。例如,将图像的灰度直方图看作是高斯分布的选择法与自适应定向正交投影高斯分解法的结合,较好地拟合了直方图的多峰特性,从而得到了更为准确的分割效果。阈值法的缺陷主要在于它仅仅考虑了图像的灰度信息,而忽略了图像的空间信息。对于非此即彼的简单图像处理(如一些二值图像的处理)是有效的,但是对于图像中不存在明显的灰度差异或各物体的灰度值范围有较大重叠的图像分割问题则难以得到准确的分割效果。 1.2 基于边缘的图像分割法
边缘总是以强度突变的形式出现,可以定义为图像局部特征的不连续性,如灰度的突变、纹理结构的突变等。边缘常常意味着一个区域的终结和另一个区域的开始,图像的边缘包含了物体形状的重要信息,它不仅在分析图像时大幅度地减少了要处理的信息量,还保护了目标的边界结构。对于边缘的检测常常借助空间微分算子进行,通过将其模板与图像卷积完成。两个具有不同灰度值的相邻区域之间总存在灰度边缘,而这正是灰度值不连续的结果,这种不连续可以利用求一阶和二阶导数检测到。
当今的局部技术边缘检测方法中,主要有一次微分(Sobel算子、Roberts算子)、二次微分(拉普拉斯算子等)和模板操作(Prewitt算子、Kirsch算子和Robinson算子)等。这些边缘检测器对边缘灰度值过渡比较尖锐且噪声较小等不太复杂的图像可以取得较好的效果,但对于边缘复杂(如边缘模糊、边缘丢失、边缘不连续等)的图像效果不太理想。此外,噪声的存在使基于导数的边缘检测方法效果明显降低,在噪声较大的情况下所用的边缘检测算子通常都是先对图像进行适当的平滑,抑制噪声,然后求导数,或者对图像进行局部拟合,然后再用拟合光滑函数的导数来代替直接的数值导数,如Marr算子、Canny算子等。有关学者曾给出了一种基于彩色边缘的图像分割方法,这是对传统边缘分割方法只适用于灰度图像状况的一个突破。
学习啦在线学习网 在未来的研究中,用于提取初始边缘点的自适应阈值选取、用于图像层次分割的更大区域的选取,以及如何确认重要边缘去除假边缘将变得非常重要。
1.3 基于聚类的分割法
学习啦在线学习网 对灰度图像和彩色图像中相似灰度或色度合并的方法称之为聚类,通过聚类将图像表示为不同区域即所谓的聚类分割方法。此方法的实质是将图像分割问题转化为模式识别的聚类分析,如k均值、参数密度估计、非参数密度估计等方法都能用于图像分割。常用的聚类分割有颜色聚类分、灰度聚类分割和像素空间聚类分割。
学习啦在线学习网 颜色聚类分割实际上是将相似的几种颜色合并为一色,描述颜色近似程度的指标是色差,在标准CIE匀色空间中,色差是用两个颜色的距离来表示的。但是显示器采用的RGB空间是显示器的设备空间,与CIE系统的真实三原色不同,为简单起见,一般采用RGB色空间中的距离来表示。
灰度聚类分割就是只把图像分成目标和背景两类,而且仅考虑像素的灰度,这就是一个在一维空间中把数据分成两类的问题。通过在灰度空间完成聚类,得到两个聚类中心(用灰度值表征),聚类中心连线的中点便是阈值。显然这个概念也可以轻松地延扩至多阈值和动态阈值的情况。
像素空间聚类分割在某些特定的尺度上观察图像,比如说把图像信号通过一个带通滤波器,滤波的结果将使图像的局部信息更好地被表达。通过一个多尺度分解,轮廓信息可以在大尺度图像上保留下来,细节或者突变信息可以在中小尺度上体现,基于多尺度图像特征聚类的分割方法渐渐得到了人们的关注。
1.4 函数优化法
基于函数优化的分割方法是图像分割中另一大类常用的方法,其基本思路是给出一个目标函数,通过该目标函数的极大化或极小化来分割图像,G.A.Hewer等人提出了一个具有广泛意义的目标函数。统计学分割法、结合区域与边缘信息法、最小描述长度(MDL)法、基于贝叶斯公式的分割法等是目前几种活跃的函数优化法。
统计学分割法就是把图像中各个像素点的灰度值看作是具有一定概率分布的随机变量,且观察到的实际物体是作了某种变换并加入噪声的结果。统计学分割方法包括基于马尔科夫随机场法(MRF)、标号法(Labeling)和混合分布法(Mixture)等。
结合区域与边缘信息法是基于区域信息的图像分割的主要方法。区域增长有两种方式:一种是先将图像分割成很多一致性较强的小区域,再按一定的规则将小区域融合成大区域,达到分割图像的目的;另一种是事先给定图像中要分割目标的一个种子区域,再在种子区域基础上将周围的像素点以一定的规则加入其中,最终达到目标与背景分离的目的。分裂合并法对图像的分割是按区域生长法沿相反方向进行的,无需设置种子点,其基本思想是给定相似测度和同质测度,从整幅图像开始,如果区域不满足同质测度,则分裂成任意大小的不重叠子区域;如果两个邻域的子区域满足相似测度则合并。
最小长度描述法(MDL)的基本思路是用一种计算机语言来描述图像的区域和边界信息,得到一个描述长度函数,以此作为目标函数,根据图像极小化描述长度从而得到分割结果。MDL准则主要应用于区域竞争中,即通过这种规则对比若干个种子区域,找出其中的坏种子。它常常与其他方法结合使用。
2 图像分割技术的研究与应用
2.1 图像扫描分割
学习啦在线学习网 根据实际产品的需要,要根据分割的特殊要求,采用简单的图像扫描分割。
2.1.1 算法思想
获取二值化要分割的图像,然后转换为图像指针并获取图像的左右边界、上下边界,然后再分割图像[4]。
2.1.2 分割过程实现
学习啦在线学习网 下面介绍基于FrameWork4.0,采用C#实现对图像进行分割处理的主要步骤。
⑴ 二值化要分割的图像
学习啦在线学习网 BaseFilterHandler.ImgConvertToFormat8(c_Bitmap);
BaseFilterHandler.ImgBradleyLocalThresholding(c_Bitmap);
⑵ 转换为图像指针并获取图像中的左右边界
BitmapData bmData=c_Bitmap.LockBits(new Rectangle
(0,0,c_Bitmap.Width,c_Bitmap.Height),ImageLockMode .ReadWrite, c_Bitmap.PixelFormat);
学习啦在线学习网 List<int[]> widthLeftRight=GetImgLeftRight(bmData,
c_Bitmap, throldValue);
⑶ 获取图像的上下边界
int[] yValues=img.GetPicTopBottom(sourceMap, 1, sourceMap
.Height-2, widthLeft[widthLeftIndex],
widthRight[widthLeftIndex]);
top=yValues[0]; bottom=yValues[1];
⑷ 分割图像
Rectangle sourceRectangle0=new Rectangle
学习啦在线学习网 (widthLeft[widthLeftIndex],tempTop, widthRight
学习啦在线学习网 [widthLeftIndex]-widthLeft[widthLeftIndex], tempHeight);
Bitmap tempMap=sourceMap.Clone(sourceRectangle0,
学习啦在线学习网 sourceMap.PixelFormat);
学习啦在线学习网 2.1.3 实际效果
学习啦在线学习网 存在干扰情况下的分割效果,
学习啦在线学习网 图像扫描分割的结果存在多干扰点,一些字符不能完整地被分割出来,多个字符连接在一起,分割效果不是很好。
2.2 findContours分割
2.2.1 算法思想
学习啦在线学习网 该算法是提取图像的轮廓信息,一个轮廓一般对应一系列的点,也就是图像中的一条线[5]。在算法中用序列cvSeq来保存提取到的序列集,序列中的每一个元素就是曲线中的一个点的位置。
2.2.2 分割过程实现
下面介绍采用C++实现对图像分割处理的主要步骤。
⑴ 图像的预处理(二值化、平滑处理等)
学习啦在线学习网 threshold(input,img_threshold,60,255,
CV_THRESH_BINARY_INV);
学习啦在线学习网 IplImage* input_image=&IplImage(img_threshold);
学习啦在线学习网 IplImage* dst_image=cvCreateImage(cvGetSize
(input_image),IPL_DEPTH_8U,0);
cvSmooth(input_image,dst_image,CV_GAUSSIAN,3,0,0,0);
学习啦在线学习网 ⑵ 查找图像的联通区域及轮廓
Mat img_contours;
img_threshold.copyTo(img_contours);
vector<vector<Point>> contours;
学习啦在线学习网 findContours(img_contours, contours,
学习啦在线学习网 CV_RETR_EXTERNAL,CV_CHAIN_APPROX_NONE);
⑶ 对轮廓进行转换得到内容区域
vector<vector<Point>>::iterator itc=contours.begin();
学习啦在线学习网 IplImage* temp=&(IplImage)input;
vector<Rect> validRect;
学习啦在线学习网 while(itc!=contours.end()) {
学习啦在线学习网 Rect mr=boundingRect(Mat(*itc));
rectangle(result,mr,Scalar(0,255,0));
if(!checkSplitRect(mr,temp->height,temp->width))
学习啦在线学习网 { ++itc;continue; }
学习啦在线学习网 validRect.push_back(mr);
++itc;
}
⑷ 图像分割
学习啦在线学习网 CvSize size=cvSize(rect.width,rect.height);
cvSetImageROI(source,cvRect(rect.x,rect.y,size.width,size.height));
学习啦在线学习网 IplImage* pDest=cvCreateImage(size,source->depth,
学习啦在线学习网 source->nChannels);
学习啦在线学习网 cvCopy(source,pDest);
cvResetImageROI(pDest);
2.2.3 实际效果
学习啦在线学习网 从分割结果看,该分割算法能把所有的单个图片联通区域分割出来,但是分割出的区域存在很多干扰区域,增加了实际区域提取的复杂度
下面将在此基础上进行改进。
学习啦在线学习网 2.3 改进后的算法
增加连通区域的有效性判断及过滤;
checkSplitRect(Rect rect,int height,int width)
同时对一些单字符被分割成多个字符的区域按照一定的算法及规则进行有效组合和合并;
vector<Rect> MergeImage(vector<Rect> validRect)
最后形成的分割效果如图3所示,将所有字符正确的分割出来,去除了干扰,达到了理想的效果。
3 实验结果
为了验证本方案的可行性和可操作性,本文使用10000张测试图像作为实验测试库,对此方案进行测试。测试结果:正确分割达到99%以上。如图4,改进后的分割正确率比改进前的分割正确率提高了将近20倍。
4 结束语
图像分割没有通用的理论,要根据具体情况采取有效的方法。利用已经研究出的多种图像分割方法,将多种方法综合运用,发挥各自的优势进行图像分割将成为这一领域的发展趋势。同时,由于现在所处理的图像的复杂度和固有的模糊性,传统的单一的处理方法已不能适用需要,与新理论、新工具和新技术结合起来才能有所突破和创新。
本文在原有分割技术的基础上,结合实际的使用情况,进行了算法思想的改进和创新,最终达到了理想的分割效果,在一定程度上具有良好的研究和实用价值。
参考文献:
学习啦在线学习网 [1] R.M.Haralick,L.G.Shaprio, "Image segmentation tech2 niques",Computer Vision, Graphics, and Image Processing,1985.29:100-132
学习啦在线学习网 [2] 罗希平等.图像分割方法综述[J].模式识别与人工智能,1999.12(3):300-312
[3] 吴一全,朱兆达.图像处理中阈值选取方法30年(1962-1992)的进展(一)[J].数据采集与处理,1993.3:193-201
[4] 章旒晋.图像分割[M].科学出版社,2001.
学习啦在线学习网 [5] 刘海亮.数字图像分割方法研究[J].电脑知识与技术,2009.9.
看了“图像分割技术论文”的人还看:
2.车牌识别技术论文