基于MATLAB图像处理算法的风沙两相流PIV图像的分割方法

  • 格式:pdf
  • 大小:771.47 KB
  • 文档页数:5

文章编号:1000-694X (2011)02-367-05基于MATLAB 图像处理算法的风沙两相流PIV 图像的分割方法收稿日期:2010-08-30;改回日期:2010-11-22基金项目:国家自然科学基金项目(40975094,50823002)和国家重点基础研究规划项目(2006CB403701)共同资助 作者简介:蒋缠文(1984 ),男,宁夏盐池人,硕士研究生,主要研究方向为风沙物理。

Email:w en andfei@*通讯作者:梅凡民(Email:fanmin 68@)蒋缠文,梅凡民*,王晓艳(西安工程大学环境与化学工程学院,陕西西安710048)摘 要:为了深入理解沙粒起动的力学机制,需要从风洞实验中同步地获得风沙边界层中沙粒群和气流的瞬时速度信息。

基于M A T L A B 平台的风沙两相流PIV 图像分割的方法,利用沙粒群和气流示踪粒子特征粒径的显著差异,对风沙两相流P IV 图像中的气固两相流进行图像分割,可分别获得沙粒群和气流示踪粒子的图像,并进一步对分离后的两相粒子按粒径进行分级分离,得到各级粒径粒子P IV 图像,为进一步恢复气固两相流的流场奠定了基础。

关键词:图像处理;PIV ;风沙两相流;沙粒群;示踪粒子;M A T L A B 中图分类号:X169;T P191.41文献标识码:A作为风沙物理学的基本关键的科学问题,学术界对于沙粒起动的力学机制还存在争议[1-2],Bagnold [3]提出流体起动(后人常称为aerodynamic entrainment,空气动力学起动或称为空气动力学卷吸)和冲击起动机制,并认为跃移系统达到稳态时,沙粒起跳以碰撞冲击作用为主,此观点被目前大多数学者所接受[4-5]。

根据沙粒冲击速度很小的事实,董治宝等[1]对冲击起动的作用提出了质疑。

Door scho t 等[6]利用数值模拟方法模拟了风雪输运过程中空气动力学起动和冲击起动的作用,结果表明,低风速下雪粒起跳以流体起动为主(壁面的湍流切应力大于或接近流体起动的切应力),高风速下以冲击起动为主,中等风速条件下二者作用相当,且随着雪粒粒度增加,空气动力学起动的作用愈大。

此结论是否适合风沙流,尚需要实验工作的验证。

赵建华等[7]通过理论推导提出了冲击起动和气动力起动交替循环的机理。

至于升力起动说、压差起动说、振动起动说、斜面飞升说、猝发起动说、湍流起动说、负压起动说和涡旋起动说等各种假说,仅是从某一侧面反映了沙粒起动的原因,还不能够系统地揭示影响沙粒起跳的主要因素和主要的动力学过程[8-9]。

笔者认为,风沙颗粒起动是普通的空气动力学起动、典型的冲击起动、湍流猝发起动等多种起动方式的循环交替的动态演化过程,而要搞清风沙两相流的动态的演化过程规律,需要同步地测试沙粒群和湍流的运动速度、瞬时运动应力等参数,而目前日益成熟的粒子图像测速技术(PIV )为实现风沙两相流同步测速各地提供了可能[10-13]。

王大伟等[14]以颗粒粒径为主要特征,采用基于K -均值的Dig ital Mask 自动生成算法和互相关PIV 算法来分离风沙两相流。

代钦等[15]主要通过气固两相流的灰度差异实现气固两相流的自动分离。

赵玉峰等[16]利用小波变换和图像分析技术,成功地计算出分析图像视场内平均粒径大小,该方法为PIV 图像中分割风沙两相流流场内粒子粒径信息提供了借鉴。

为了进一步认识沙粒运动过程中气固两相流的动量输送过程和沙粒起跳的动力学机制,需要从PIV 图像气固两相流的图像中同时能够获得不同粒级的颗粒群的粒度和速度信息,而这需要发展一种新的PIV 图像气固两相流分离方法。

该方法不但能够分离风沙两相流的运动图像,还需要同时识别不同粒级沙粒群和运动速度。

笔者提出一种基于颗粒群粒径分级分离的气固两相流分离方法,该方法不但可以精细地分离PIV 图像中风沙两相流,而且可以获得运动颗粒群粒径和速度场,为深入地理解风沙颗粒起动的力学机制提供了技术基础。

M ATLAB 是一种高级的面向对象的编程矩阵语言,它集合了大量计算算法,具有强大的计算功能和图像处理功能[17-18],笔者提出的图像分割算法正第31卷 第2期2011年3月中 国 沙 漠JO U RN A L O F DESERT R ESEA RCHV ol.31 No.2M ar.2011是利用了M ATLAB 平台的强大的图像处理功能来实现风沙两相流流场的分离。

1 M AT LA B 环境下的PIV 图像分割处理方法PIV 图像分割处理基本流程主要包括读入原始图像、中值滤波去噪、灰度图象的二值化处理、图像标记、计算象素数、二次标记、粒径分割等过程(图1)。

图1 P IV 图像处理流程F ig.1 Pr ocessing flo w o f PIV imag es当用MA TLAB 中图像处理的读入函数imread 读入PIV 图像数据后,首先要对PIV 图像进行预处理,以除去图像噪声等干扰信息达到增强图像的目的。

和其他方法相比较,中值滤波可以在不影响图像对比度的情况下而减小异常值的影响,而在风沙两相流图像中,由于存在两相粒子对光反射及散射的差异,采用中值滤波的方法来去除图像的噪声干扰。

在M ATLAB 图像处理工具箱中,使用med-i filt2函数来进行中值滤波,选择默认的3 3邻域[17-18],其语法格式为:J=medfilt2(I);%I 为原始图像,J 为滤波后的图像。

图像二值化处理是利用图像中要提取的目标物与其背景在灰度特性上的差异,把图像视为具有不同灰度级的两类区域(目标和背景)的组合,其关键是选择合理的分割阈值。

当一个像素的灰度值超过这个阈值,就可以说这个像素属于人们感兴趣的目标,反之则属于背景部分。

采取自动寻找最佳阈值法,该方法能自动分析图像的灰度直方图并根据直方图确定最佳阈值,然后用寻找到的最佳阈值进行二值化处理。

需要说明的是,由于工况条件、图像拍摄质量等因素的差异,要在图像处理过程中需要保存一些感兴趣、但灰度值较低的目标,这就需要参照原始图像,手动设置阈值,以达到最佳的识别效果,而自动寻找最佳阈值法得出的阈值仅作为手动设置阈值时的参考。

在M ATLAB 中寻找最佳阈值的函数为g raythr esh,二值化函数为im2bw 。

应用二值图像的8领域标记算法实现对图像中各沙粒的标记。

具体算法步骤如下:假如当前的像素值是0,移到下一个扫描位置。

假如当前像素的值是1,检查它左边、左上、上边和右上的4个近邻像素。

如果它们都是0,就给当前像素1个新的标记;如果上述4个近邻像素中有值为1的像素(包括1个、2个、3个和4个几种情况),比较非零像素的标记值,将最小值赋给当前像素作为标记值。

然后,将4个近邻像素中的标记值做个记号表明这几个标记等价。

将所有等价的标记对归入等价组,并对各个组赋1个不同的标记。

扫描图像,将每一个标记用它所在等价组的标记代替。

也就是说,通过图像的标记,可以将图像中的各个连通区域(沙粒),在二值图像的标记矩阵中用阿拉伯数字表示,其中每个数字表示一个沙粒并且阿拉伯数字的最大值即为沙粒的个数。

通过图像标记,可以知道在这个二值图像的标记矩阵中,不同的值代表了不同的区域,在M AT -LAB 中计算图像中不同区域的面积用regionpr ops 函数,其调用方法如下:STA TS=r eg ionprops(L,'ar ea');allArea=[ST AT S.A rea];式中:L 为标记矩阵;area 为该区域像素点的个数,实际代表了沙粒的特征面积。

命令运行后就会在STA TS.Ar ea 矩阵中生成N 个数值,也就是所有沙粒的特征面积。

将二值图像中的沙粒在标记矩阵中用阿拉伯数字表示后,用regionprops 函数将各个阿拉伯数字表记的连通区域面积求出,再用沙粒的特征面积代替阿拉伯数字去标记各个连通区域(沙粒)。

这样做的好处是可通过直接输入特征面积值将所需要粒径的沙粒从图像中分割出来。

为此编写了一个for 循环,将ST ATS.Area 矩阵中生成的N 个数值调换在标记矩阵L 中,具体命令如下:for i=1:Nr=find(L==i); %寻找L 矩阵中为i 的行和列的下标L (r )=allArea (i );%将特征面积矩阵STA TS.Ar ea 赋值到标记矩阵L 中标记的位置end完成图像的特征面积标定后,就可以在标记矩阵中将需要的粒径范围的沙粒保留下来,将其他的部分置为0,也就是置为背景,这样沙粒就从原图像中分割出来了。

譬如,我们需要将粒径小于K 的沙粒从图像中分离出来,就可以使用如下命令:368中 国 沙 漠第31卷rr=find(L>=K);%寻找特征面积标记矩阵L中标号为非K的下标L(rr)=0; %将标号为非k的区域置为背景segm ented_images{1}=L;im show(seg mented_images{1});%显示粒径小于K的沙粒图像2 风沙两相流PIV图像粒径分离的实例图2A是PIV拍摄的沙粒运动的原图像,识别到的沙粒大约有700个左右,ar ea范围在1~232之间,于是就将这些沙粒按像素数1~50,50~100, 100~150,150~232等4个粒级从原图像中分割出来,得到了图2B~E。

当原图像被处理成不同粒级颗粒的图像后,再利用PIV图像处理软件可得到不同粒级粒子的速度分布特征。

同样,就可以从风沙两相流的PIV图像上区分沙粒与示踪粒子并获得沙粒群与周围气流的瞬时速度场。

从图2(B~E)四幅图像可以看到,沙粒粒径大都集中在1~50这个像素范围内,在其他范围分布很有限,这可能是由于沙粒黏连现象造成的识别误差。

为了得到更为可靠的沙粒粒径信息,再次将图图2 粒径分离前后的PI V图像对比F ig.2 Co mpar ison of P IV images pre and post part icle size disting uishing2B进行分割(如图3所示),需要说明的是,获得的图像像素数只能反映粒子的相对大小,要将像素数转化为实际的粒径,按照赵玉峰和周又和的方法,还需要用一个已知直径Dr的球状物体作为被测物标定,即可用已知粒径的玻璃珠的PIV图像所显示的像素数(area)S r来标定,标定系数为K=14D r2/S r那么实际沙粒粒径就为:D x=1.13K S r得到以上数据以后,就可以将像素数ar ea换算369 第2期蒋缠文等:基于M AT LA B图像处理算法的风沙两相流P IV图像的分割方法图3 图2B 基础上粒径分离后的PIV 图像对比F ig.3 Co mpar ison of images po st par ticle size distinguishing based o n F ig.2B为沙粒的特征粒径了。