一种入水空泡轮廓提取的图像处理方法与流程

文档序号:21604141发布日期:2020-07-24 16:59阅读:686来源:国知局
一种入水空泡轮廓提取的图像处理方法与流程

本发明属于图像识别领域,具体涉及到利用图像处理技术对运动体入水后产生的入水空泡轮廓进行提取和处理从而获得空泡轮廓曲线的一种方法。



背景技术:

运动体入水问题的研究涉及到许多学科,它是一个非常广泛的现象。例如空投鱼雷的入水,船舶的砰击,跨介质飞行器的入水,航天返回舱的海上降落,水上生物的行走等等,因此对于入水问题的研究在军事领域、工程领域和仿生领域等有着重要意义。

近百年来,许多研究者对运动体入水这一研究领域进行了大量的研究,其中大部分研究内容都集中在入水空泡的演变和发展。入水空泡是运动体在入水过程中一个非常明显的现象,运动体在入水时,此时流场可认为是不可压缩的,运动体的动能传递给周围的流体使得入水点四周的液面隆起并形成飞溅,液面下方靠近入水点的流体因而获得径向扩张的速度和运动体发生流动分离,从而形成最初的入水空泡。随着运动体继续进入水中,液面上方的空气在压差作用下会不断流入空泡内部,同时周围流体仍朝径向向外运动,因而此时空泡不断地拉长并扩张,扩张到一定程度后在不同的条件下会发生表面闭合与深闭合等空泡闭合现象,此时运动体携带的空泡与外界空气隔绝不再继续扩张,运动到一定深度后再液体压力的作用下空泡发生溃灭与脱落,使运动体不再携带任何空泡而处于完全沾湿状态。入水空泡的存在对运动体入水过程中的姿态稳定性,运动体结构本身和流动特性有着重要影响,因此对运动体入水空泡的演变特性的研究有着重要意义。

入水空泡的演变特性可以通过研究空泡形态的演变过程获得,通过提取不同入水时刻下的入水空泡轮廓进行叠加对比,往往更能直观的表现出空泡的发展特性。运动体入水后往往存在五种情况:(a)运动体因极低速度入水或表面亲水而几乎不存在入水空泡;(b)运动体入水后只有远离液面的一端带有部分空泡;(c)运动体入水后完全被空泡包裹;(d)运动体入水一段时间后,其尾端拍击空泡壁面导致空泡的完整性被破坏;(e)入水空泡发展一段时间后发生空泡深闭合,此时空泡分为近液面空泡和运动体携带的空泡两个部分。

由于在水下同时存在有不透光的运动体、入水空泡壁面,因此在水下进行空泡轮廓提取往往会受到许多干扰因素的影响,这给精确提取空泡轮廓带来了一定程度上的困难。空泡轮廓提取存在的干扰因素主要有以下几点:

(1)在空泡轮廓的提取过程中,往往包裹在其中的运动体的边缘轮廓也会被提取出来,因此如何有效去除运动体轮廓显得极为重要;

(2)当入水图像的环境光分布不均时,空泡轮廓的一部分边缘会变得透明,导致不能有效识别;

(3)由于近液面处回射流的存在导致近液面的空泡壁表面会产生一定的剥蚀现象从而使空泡壁变得粗糙,导致空泡边缘各处的折射率不同,因此边缘提取时可能会产生不连续的情况;

(4)水下存在折射的影响,因此需要将得到的空泡边缘点进行折射校正获得在实验框架下的正确坐标位置。

入水空泡边缘提取对运动体入水空泡的演变特性的研究有着重要意义,国内魏英杰,王聪等人对水下空泡识别和位置检测做了初步研究,但未能批量精确地对大量水下空泡图像进行有效精确识别。目前尚未发现有同类专利或文献。



技术实现要素:

要解决的技术问题

为了避免现有技术的不足之处,本发明提出一种能够精确识别并批量提取水下空泡轮廓的图像处理方法。该方法可有效提取运动体的入水空泡边缘轮廓并得到实验坐标系下的空泡轮廓散点文件。

技术方案

一种入水空泡轮廓提取的图像处理方法,其特征在于步骤如下:

步骤1:在matlab中导入实验拍摄的运动体入水图像和背景图像,其中背景图像指的是运动体尚未进入高速摄像机视野时刻下的拍摄图像,而入水图像则是指运动体已经穿过液面时刻下的实验图像;导入图像完毕后将图像进行灰度转换,并建立二维笛卡尔坐标系,其中坐标系的原点为运动体的入水点,y轴正向为竖直向下方向,x轴正向为运动体速度矢量的水平分量指向;

步骤2:根据运动体所处于图像中的位置对图像进行区域划分,划分的具体原则如下:

其中,dm为运动体的直径大小,lm为运动体的长度,xs为划分图像的宽度,ys为划分图像的高度;

对划分完成后的图像进行背景剔除处理,将背景图像b(x,y)减去实验图像e(x,y)得到目标提取图像s(x,y):

s(x,y)=b(x,y)-e(x,y)

步骤3:将已剔除背景的图像转换为二值图像,创建一个指定半径的平面圆盘形的结构元素,利用该结构元素对图像进行膨胀处理,后仍利用该结构元素对膨胀后的图像进行腐蚀处理;

步骤4:利用bwareaopen函数删除图像中含有的像素数量小于设定值的空腔,之后利用imfill函数填充入水空泡内部含有的空腔,最后利用medfilt2中值滤波函数对二值图像进行小半径平滑处理;所述的medfilt2中值滤波函数可通过下式表示:

其中,pi,j为在像素坐标(i,j)下该像素元素的值,m,n为相应像素周围m×n邻域,medfilt2中值滤波函数功能即为取相应像素周围m×n邻域的中值;

步骤5:基于sobel算子对步骤4处理完成的图像进行边缘提取,利用bwmorph函数对提取完成的边缘图像应用形态学“thin”操作,使边缘减薄成线;

将空泡边缘散点的像素坐标p(x,y)转换到实验坐标系下的真实坐标p1(x,y):

p1(x,y)=δ(p(x,y)-(x0,y0)e)

其中,e为和p(x,y)同维度的矩阵,其所有元素均为1;δ为在实验坐标系下图像中每个像素点之间的距离,(x0,y0)为图像中坐标原点所对应的像素位置;

对坐标转换完成后的边缘散点p1(x,y)进行折射校正,校正公式如下:

其中,pmeasure是边缘散点坐标的测量值,由p1(x,y)给出,preal是边缘散点坐标真实值,d1是运动体距水箱前壁面的距离,d2是高速摄像机镜头距水箱前壁面的距离,n为折射率。

步骤3中所述的指定半径为10像素。

步骤4中设定值为40。

有益效果

本发明提出的一种能够批量精确识别并提取入水空泡轮廓的图像处理方法,能够快速缩小识别区域,消除图像的干扰因素,且最后提取得到的轮廓散点仅有一层散点,便于后续的入水空泡数据处理。该方法识别效率高,轮廓提取结果精确,处理速度较快,并且可以进行批量处理。

附图说明

图1是本发明具体实施方式中的入水空泡轮廓的提取方法的流程图;

图2是运动体以一定速度入水后的入水空泡示意图;

图3是建立的二维笛卡尔坐标系图;

图4是进行区域划分处理后的图像;

图5是进行背景剔除处理后的图像;

图6是转换为二值图像并进行膨胀腐蚀处理后的图像;

图7是进行内部空腔填充后的图像;

图8是入水空泡轮廓提取后与原图进行对比示意图。

具体实施方式

现结合实施例、附图对本发明作进一步描述:

本发明为解决上述技术问题所采用的技术方案是基于sobel算子的图像边缘提取方法,包括如下几部分:

(1)利用matlab导入运动体入水前的背景图像与待处理识别的入水空泡图像,并转化为灰度图;

(2)划分识别区域,进行背景剔除处理;

(3)将图像转换为二值图像,利用圆盘形的结构元素对图像进行膨胀腐蚀处理,防止待提取的轮廓出现不连续的现象;

(4)去除图像中的较小的干扰空腔,填充入水空泡内部存在的空腔,并进行图像平滑处理;

(5)对处理完成的图像区域进行边缘轮廓提取,对提取完成的边缘轮廓进行薄层处理,使得空泡边缘仅有一层散点,将得到的散点进行折射校正和像素坐标变换从而得到实验坐标系下的空泡轮廓散点,最后将散点坐标写入文件。

具体步骤如下:

步骤一:在matlab中导入实验拍摄的运动体入水图像和背景图像,其中背景图像指的是运动体尚未进入高速摄像机视野时刻下的拍摄图像,而入水图像则是指运动体已经穿过液面时刻下的实验图像。导入图像完毕后将图像进行灰度转换,并建立二维笛卡尔坐标系如图3所示,其中坐标系的原点为运动体的入水点,y轴正向为竖直向下方向,x轴正向为运动体速度矢量的水平分量指向。

步骤二:根据运动体所处于图像中的位置对图像进行区域划分,从而大大减小处理过程中的运算量,同时可以避免其余不必要的背景干扰,提高边缘检测精度和效率。

划分的具体原则如下:

其中dm为运动体的直径大小,lm为运动体的长度,xs为划分图像的宽度,ys为划分图像的高度,图4给出了图像划分完毕后的入水空泡图像,可见划分完成后的图像缩小了识别范围,完整保留了入水空泡。

为了进一步精确提取入水空泡,需要对划分完成后的图像进行背景剔除处理,其中具有整数像素坐标的背景图像b(x,y)和实验图像e(x,y)均有共同的背景,因而可以通过矩阵运算减去实验图像本身的背景得到目标提取图像s(x,y),从而能够单独保留目标航行体。其运算可通过下式进行:

s(x,y)=b(x,y)-e(x,y)

图5给出了入水空泡被剔除背景后的图像。可以看到,无关的背景均被完全剔除,而入水空泡的完整形态被保留下来,便于对其进行边缘识别和提取。

步骤三:将已剔除背景的图像转换为二值图像,创建一个指定半径为10像素的平面圆盘形的结构元素,利用该结构元素对图像进行膨胀处理,后仍利用该结构元素对膨胀后的图像进行腐蚀处理,从而去除不重要的微小边缘并且消除了断裂边缘处的不连续性,如图6所示。

步骤四:利用bwareaopen函数删除图像中含有的像素数量小于40的空腔,之后利用imfill函数填充入水空泡内部含有的空腔,最后利用medfilt2中值滤波函数对二值图像进行平滑处理,从而最大程度上消除图像的噪声。medfilt2中值滤波函数可通过下式表示:

其中pi,j为在像素坐标(i,j)下该像素元素的值,m,n为相应像素周围m×n邻域,medfilt2中值滤波函数功能即为取相应像素周围m×n邻域的中值。处理完毕的图像如图7所示。

步骤五:基于sobel算子对步骤四处理完成的图像进行边缘提取,由于提取完成的边缘层往往含有多层像素点,因此需要利用bwmorph函数对提取完成的边缘图像应用形态学“thin”操作,使边缘减薄成线。

经过步骤五得到了空泡边缘散点的像素坐标,为了获得入水空泡边缘散点在实验坐标系下的坐标,在实验图像中,通过对运动体的标定,可测得图像中每个像素点之间的距离在实验坐标系下为δmm,图像中坐标原点所对应的像素位置为(x0,y0),因而散点矩阵p(x,y)所对应的实验坐标系下的真实坐标转换关系可通过下式计算:

p1(x,y)=δ(p(x,y)-(x0,y0)e)

其中e为和p(x,y)同维度的矩阵,其所有元素均为1。

在实验过程中因为高速摄像机拍摄的实验图像存在有因光线穿过水体和空气间产生的折射误差,因此需要对坐标转换完成后的边缘散点p1(x,y)进行折射校正,校正公式如下:

其中pmeasure是边缘散点坐标的测量值,由p1(x,y)给出,preal是边缘散点坐标真实值,d1是运动体距水箱前壁面的距离,d2是高速摄像机镜头距水箱前壁面的距离,n为折射率。

至此,入水空泡边缘被识别提取完毕。将提取的边缘与原空泡放置在同一张图像下做对比,如图8所示,可以发现边缘识别良好,能够精确提取出入水空泡边缘散点。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1