基于图像处理的泥沙轮廓提取对比分析
2015-04-27许琳娟曹文洪刘春晶
许琳娟,曹文洪,刘春晶
(1.中国水利水电科学研究院 流域水循环模拟与调控国家重点实验室,北京 100048;2.中国水利水电科学研究院 水利部水沙科学与江河治理重点实验室,北京 100048;3.中国水利水电科学研究院 泥沙研究所,北京 100048)
基于图像处理的泥沙轮廓提取对比分析
许琳娟1,2,3,曹文洪1,2,3,刘春晶1,2,3
(1.中国水利水电科学研究院 流域水循环模拟与调控国家重点实验室,北京 100048;2.中国水利水电科学研究院 水利部水沙科学与江河治理重点实验室,北京 100048;3.中国水利水电科学研究院 泥沙研究所,北京 100048)
利用数字图像处理技术对拍摄的泥沙颗粒图像进行处理,提取泥沙颗粒轮廓及位置坐标,为实时测量推移质输沙率提供了基础。本文基于数字图像处理技术,阐述了图像轮廓提取的一些基础知识,介绍了三种常用的图像轮廓提取方法,展示了这三种方法轮廓提取的效果,并进行了对比分析,结果表明当所处理的图像包含不同粒径的泥沙颗粒时,边缘检测算法提取的泥沙颗粒数量效果最好。
轮廓提取;图像处理;算法;对比分析;泥沙颗粒
1 研究背景
数字图像处理是指将图像信号转换成数字信号,并利用计算机对其进行处理的一个过程[1]。利用数字图像处理技术,获得图像目标物的轮廓包括两个步骤:一是图像分割—在图像中把目标物分割出来;二是轮廓提取—提取出目标物的轮廓。
随着数字图像处理技术的成熟,很多学者在不同的学科领域对图像轮廓提取方面进行了大量的研究,并取得了一定的成果。范九伦等[2]在二维Otsu法的基础上提出了曲线阈值型Otsu法,给出了一种递归算法和一种小波变换与递归算法相结合的快速算法,减少了计算量,提高了图像分割速度;但阈值曲线的选取比较复杂和困难。吴凤和[3]结合计算机技术,提出了一种较为实用的轮廓提取方法,比传统的轮廓提取方法具有精度高、抗干扰能力性强等优点。吴金鹿等[4]利用信号的互相关原理,提出了一种基于互相关匹配的分割方法,对高空图像的目标提取效果较好。井艾斌等[5]对于利用Matlab函数提取并填充目标轮廓,得到了良好的效果,但是这种方法适用于图形简单且背景噪声小的图像。以上研究选用的是背景比较单一或是由简单线条组成的图像,因此图像处理进行轮廓提取时,比较容易得到结果;但是实际应用中拍摄的图像往往背景噪声大,或是图像本身很复杂,利用上述方法不易得到想要的结果。
在前人研究的基础上,本文选取水槽试验中拍摄的运动泥沙颗粒的图像,图像具有背景噪声大,图像复杂且泥沙颗粒小等特点,利用图像处理技术对复杂的泥沙颗粒图像进行处理,利用三种比较经典的图像轮廓提取方法,分别对所选取图像中的泥沙颗粒进行轮廓提取,同时将这三种方法的提取效果进行对比分析,探究图像处理技术在处理泥沙颗粒图片方面的应用效果。
2 图像轮廓提取介绍
为了能够得到图像中准确的几何参数,需要运用一定的技术手段对图像中目标轮廓进行边缘提取。而图像在采集过程中,由于噪声、畸变等因素造成图像的变形和模糊,导致在对图像边缘提取时有一定的难度,而这将直接影响我们不能准确获取图像的基本信息,所以如何准确获取图像目标物的边缘轮廓是图像处理方面研究的难点和热点。
图像轮廓提取是指从原始图像中,采用某种方法,将图片中的人物、动物、植物或者其他任何对象的边界(轮廓线)提取出来,使之成为一幅独立的黑白线条图,从而达到将物体与背景分开,物体与物体分开的效果。图像轮廓提取类似于图像的边缘检测,因此我们要对图像轮廓进行提取,可近似认为是对图像中目标物体的特征边缘进行检测。
3 图像轮廓提取方法
3.1 边缘检测法边缘是物体的本质特征,包含着图像的大量信息,反映了图像灰度级的不连续性[6],边缘检测法是根据图像中背景和目标物纹理或灰度特性上的突变性或不连续性而对图像进行分割的一种方法,它描述了图像灰度变化的过程[7],其实质是利用某种算法将图像中背景与目标物的边界线提取出来,即对图像中灰度变化的检测、量度和定位[8]。边缘检测法是图像轮廓提取的基本方法,它在图像分割、图像匹配、特征提取以及图像识别等方面具有重要的作用。
梯度幅值如式(2):
实际中,常将区域模板与图像通过卷积来完成。Gx和Gy分别对应一个水平模板和垂直模板,将这两个模板结合起来,就组成一个梯度算子。根据模板元素值和大小的不同,有许多不同的算子,常用的有Sobel、Prewitt、Roberts算子等。这三种算子优缺点及适用范围如表1所示:
表1 各种算子优缺点及适用范围
通过比较可以得知,Sobel算子的边缘轮廓检测效果最好,且为了与本文中下面的另外两种方法相比较,这里选用Sobel算子。
3.2 数学形态学法数学形态学是建立在数学理论的基础上,将某种形态结构元素作用于图像中目标物体的形状集合,检测并提取图像中目标物体的边缘形状,达到分析和识别所研究目标物的目的[10]。它是基于数学中集合的观点,将所研究图像转换成集合形式来表示,且它研究图像时所有的运算都是通过集合运算(例如交集、并集、补集等)来进行。
腐蚀(Erosion)、膨胀(Dilation)、开(Opening)运算和闭(Closing)运算是形态学常见的基本运算,利用这些运算可对图像中物体形状进行检测和提取,在很大程度上起到抑制图像背景噪声的效果。
(1)腐蚀:
式中:AΘB表示A被B腐蚀,即将B平移x后仍由属于A的所有x点组成。腐蚀运算会去掉物体的边缘点,提取图像的骨干,去掉毛刺,物体图像将缩小一层。
(2)膨胀:
式中:Ac表示A的补集,A⊕B表示A被B膨胀,Bˇ表示B关于坐标原点的反射,即将B绕坐标原点旋转180°,再将Bˇ对Ac腐蚀,其结果的补集即是所求。膨胀运算会将原图像扩大一层,内部孔洞会被填补上。
(3)开运算:
式中: A∘B表示B对A作开运算,即A先被B腐蚀,再被B膨胀。开运算能够平滑图像边界,消除突出的细小部分,分离纤细狭窄的部分,不明显改变其面积。
(4)闭运算:
式中,A·B表示B对A作闭运算,Bˇ意义同上。闭运算一般能够连接二值图像中细小部分,填充图像中的细小空洞,平滑物体的边界但不明显改变其面积。
Matlab中用Bwmorph函数来进行数学形态学的各种运算,其操作参数erode、dilate、open、close分别代表上述的四种基本运算。利用形态学法优点是不仅可以滤除噪声,而且还可以保留图像中原有的细节信息,对图像边缘具有良好的检测效果。但是不足之处是利用以上检测算子只能检测与结构元素B相关的边缘,较其他方法,其适用性相对较差。通过比较,对于本文中选取的图片,膨胀运算结果最好,故下面文中就给出膨胀运算的结果。
3.3 边界查找法边界查找法的原理:一是先在待处理的图片中寻找目标物的梯度值像素,二是采用某种方法将这些查找到的梯度值的像素连接起来,并力求连接路径最短,从而形成图像的边缘轮廓线[12]。
边界查找法实质也是对图像中目标物的边缘轮廓进行检测,但是与边缘检测不同的是,边界查找法连接目标物的像素值,是按照相邻两像素值间距离最短的原则来进行,依次将两两相邻像素间距离最短的像素点连接起来,即形成一个目标物的边缘轮廓。边界查找法使用时容易受到背景噪声的影响,所以在一定程度上会将背景边缘误当目标物体边缘而影响检测效果。
Matlab中用于边界查找法的函数是Bwperim函数,其具体过程为:先将所给图片转化成二值图片,二值图片中图像信息将由0、1组成的数字矩阵组成,目标像素由1表示,背景像素由0表示,通过连接目标像素的方法,并遵循相邻两像素间距离最短的原则来得到目标图像的边缘。本文就选用Bwperim函数来提取目标物的边缘轮廓。
4 轮廓提取效果
4.1 图像选取在中国水利水电科学研究院大兴试验基地泥沙试验厅的径流波浪水槽中进行了水槽试验,如图1所示:水槽中河床上的泥沙颗粒在水流的作用下运动,在某一时刻通过绿色板子,并在水流和泥沙颗粒自身的重力作用下沿板子运动,最终落入接沙漏斗中。
图1中泥沙颗粒粒径大小不同,范围为0.023~10 mm,绿色板子为矩形,其实际尺寸为990 mm×165 mm,挑选绿色作为板子的背景,可起到背景清晰、方便观察泥沙颗粒运动、处理图像时背景噪声影响小等优点。
4.2 轮廓提取做水槽试验时,摄像机架在水槽的一侧,图片(如图1)的拍摄是从侧面进行的,这就会造成拍摄出来的图像变形,例如原来是矩形的绿色板子拍摄出来后成了不规则的四边形。拍摄时,摄像机固定在一个位置,这样距离绿色板子的一端较近,一端较远,也会造成拍摄出来的泥沙颗粒的失真。同时,摄像机显示屏上一直显示有时间标记,这会影响图像的处理,需将其除去。因此我们进行轮廓提取时需要进行以下步骤:
图1 选取的试验图片
图2 空间变换和裁剪后图像
(1)首先对选取的图片(如图1)进行空间变换,以消除绿色板子的变形及其上面泥沙颗粒的失真,使图像看起来与实际更加接近以及获取图像像素对应的实际尺寸;
(2)由于拍摄的图片上带有时间水印,影响对绿色板子上泥沙颗粒的分析,所以我们处理图片时需将时间水印去除,这里我们将带有时间水印的图片的右下角裁剪掉;同时为了便于查看轮廓的提取效果,我们将原图片中绿色板子以外的部分裁剪掉,对图片进行空间变换和裁剪后的图像如图2所示,图2中圆圈代表绿色板子上运动的泥沙颗粒,共有86颗;
(3)分别利用上述三种方法对泥沙颗粒的轮廓进行提取。轮廓提取效果如图3所示。
图3 三种方法轮廓提取效果
4.3 效果分析由图3可以看出,三种不同的边缘检测算法在提取泥沙颗粒轮廓时效果是不同的,具体如下:
(1)图3(a)是利用边缘检测算法Sobel算子得到的结果,且通过多次试算,当其阈值为0.01666时,此算法基本上能把原图中不同粒径的泥沙颗粒提取出来,提取到的泥沙颗粒比较清晰,且提取到的泥沙颗粒数量为85颗,与原图中泥沙颗粒数量(86颗)基本接近,即在提取质量和数量方面效果都很好。图3(a)中圆圈代表原图中的泥沙颗粒,白色颗粒为提取到的泥沙颗粒,两者重合说明此方法在正确位置提取到了泥沙颗粒;只有圆圈没有白色颗粒的位置,说明没有提取到泥沙颗粒;只有白色颗粒没有圆圈的地方,说明在此处将背景噪声提取了出来,具体如表2所示。
表2 Sobel算子提取泥沙颗粒数量
(2)图3(b)中,数学形态学法对泥沙颗粒的轮廓提取效果不是很好,大部分的泥沙都不能提取出来,仅能提取到几颗粒径较大的泥沙颗粒的骨架,但是提取到的大颗粒图像比较清晰。
(3)图3(c)中,边界查找法对于较小粒径的泥沙颗粒,也提取不出其轮廓,只能提取出几颗大颗粒泥沙的轮廓,将图像放大后可以看到(如图4),其提取到的泥沙颗粒轮廓比较完整清晰。
因此可知,利用上述三种方法,虽然均能提取到图像的边缘轮廓,但是对于不同粒径范围的泥沙颗粒,这几种方法提取效果是不同的。当泥沙颗粒较大时,这三种方法都能将图片中泥沙颗粒的轮廓提取出来,且都能提取到较为清晰的颗粒轮廓;当泥沙颗粒较小时,边缘检测法能提取出清晰的小颗粒泥沙轮廓,提取效果依然较好,而另外两种方法则提取不到小颗粒泥沙的轮廓。
图4 边界查找法(Bwperim)放大后图像
5 结论
本文以水槽试验拍摄的照片为例,利用图像轮廓提取中常用的三种方法对其进行处理分析,得知:在处理含有大颗粒泥沙图像时,文中给出的三种方法都可以提取到较好的图像轮廓;在处理含有小颗粒泥沙图像时,数学形态学法和边界查找法提取效果不是很好,很多小颗粒泥沙都提取不到,而边缘检测法则对小颗粒泥沙轮廓的提取效果也较好,因此当处理含有小颗粒泥沙的图像时,我们可以选择边缘检测法来进行小颗粒泥沙轮廓的提取。
文中边缘检测算法在泥沙颗粒数量方面提取的比较准确,但还不能准确得到其粒径大小,这需要在以后的工作中做进一步的研究。
综合上述结果,当所要处理的图片中包含不同粒径范围的泥沙颗粒,且想得到图像中泥沙颗粒的数量时,我们可优先选取边缘检测法来对其轮廓进行提取,以此为基础来获得更多的其他图像信息。
[ 1] 赵海滨.MATLAB应用大全[M].北京:清华大学出版社,2012.
[ 2] 范九伦,赵凤.灰度图像的二维Otsu曲线阈值分割法[J].电子学报,2007,35(4):751-755.
[ 3] 吴凤和.基于计算机视觉测量技术的图像轮廓提取方法研究[J].计量学报,2007,28(1):18-22.
[ 4] 吴金鹿,陈绍炜,孙磊.一种基于互相关匹配的空域目标提取方法[J].科学技术与工程,2011,11(32):7948-7943,7951.
[ 5] 井艾斌,柳青,孟祥增.基于Matlab的图形轮廓提取及填充[J].计算机工程应用技术,2008:1722-1723,1727.
[ 6] 徐国保,王骥,赵桂艳,等 .基于数学形态学的自适应边缘检测新算法[J].计算机应用,2009,29(4):997-999,1002.
[ 7] 贾磊,焦淑红.图像边缘检测技术研究综述[J].科技风,2010:226-234.
[ 8] 管宏蕊,丁辉.图像边缘检测经典算法研究综述[J].首都师范大学学报:自然科学版,2009,30:66-69.
[ 9] 段瑞玲,李庆祥,李玉和.图像边缘检测方法研究综述[J].光学技术,2005,31(3):415-419.
[10] 黄剑玲,邹辉.一种基于形态学的多结构元素多尺度图像边缘检测方法[J].微电子学与计算机,2009,26(8):76-79.
[11] 姜会亮.基于数学形态学的图像分割及其在医学图像中的应用[D].扬州:扬州大学,2005.
[12] 高朝阳,张太发,曲亚男.图像边缘检测研究进展[J].科技导报,2010,28(20):112-117.
The comparison and analysis of sediment contour extraction based on image processing
XU Linjuan1,2,3,CAO Wenhong1,2,3,LIUChunjing1,2,3
(1.State Key Laboratory of Simulation and Regulation of Water Cycle in River Basin,Beijing 100048,China;
2.Key Laboratory of Hydraulic and Sediment Science and River Harnesting of the Ministry of Water Resources,Beijing 100048,China;3.Department of Sediment Research,China Institute of Water Resources and Hydropower Research,Beijing 100048,China)
Digital image processing technology is useful for processing sediment particle images,extracting the sediment particles contours and position coordinates,which provides the basis for real-time measure⁃ment of bedload sediment transport rate.Based on digital image processing technology in this paper,some basic knowledge of image contour extraction were expounded,the three commonly used image contour ex⁃traction methods were introduced,the effects with the three methods about image contour extraction were showed,and the contrast analysis was carried out among them.The results show that when the processing of image containing different particle size of sediment particle,the research results that using edge detec⁃tion algorithm to extract the numbers of the sediment particles are best.
contour extraction;image processing;algorithm;comparison analysis;sediment particles
TV141
:Adoi:10.13244/j.cnki.jiwhr.2015.01.005
1672-3031(2015)01-0028-06
(责任编辑:李福田)
2014-10-20
十二五科技支撑课题(2012BAB04B01,2013BAB12B01);中国水科院科研专项(泥基本科研1457,1442);国家自然科学基金(11472310)
许琳娟(1984-),女,河南巩义人,博士生,主要从事水力学及河流动力学研究。E-mail:282957173@qq.com