基于局部对比度累积的水中航行器热尾迹分割方法与流程

文档序号:18476723发布日期:2019-08-20 21:12阅读:172来源:国知局
基于局部对比度累积的水中航行器热尾迹分割方法与流程

本发明属于图像处理领域,具体地说是通过分析水中航行器在水面产生的热尾迹红外图像特点,实现了对信噪比及对比度较低的红外图像中热尾迹区域的有效分割。



背景技术:

热红外探测水下航行器是利用高精度红外探测仪探测来获取水面红外图像,获取含有热尾迹的区域进而实现对该区域的分析与识别。研究水中航行器热尾迹分割算法实现对热尾迹区域完整有效的分割对红外探测水下航行器具有重要意义。水下航行器在温度均匀的海水中由于动力系统放热、螺旋桨打水和运动产生摩擦等原因产生温度高于周围海水的温差信号,由于浮力作用温差信号会传递至海面。通过对温度均匀、正温度梯度和负温度梯度等三种典型环境条件进行的实验验证及仿真分析结果表明,潜航器在温度均匀及正温度梯度条件下会形成正温差信号(尾迹区域海水温度高于周围区域);而在负温度梯度条件下则会形成负温差信号(尾迹区域海水温度低于周围区域),我们将这种温差信号统称为热尾迹。

探测人员利用机载或者星载高精度的红外探测仪能够探测到海面的弱小温差信号,也就是说可以利用红外探测仪探测热尾流来间接判断水下航行器的存在性,这也是热红外探测水下航行器原理,它对我国海防具有重要的价值。红外探测水下航行器技术由于其观测范围大、可在夜间工作,抗电子干扰强、隐蔽性好、被动工作、实时成像、成像分辨率高等优点不断被研究发展,红外探测属于“战略性”探测、“趋势”探测。水中航行器热尾迹分割算法可以实现对热尾迹区域进行有效分割,有助于排除背景干扰,对热尾迹区域进行更加有效的分析与研究,进而提升红外探测水下航行器系统的性能。因此,该研究具有重要意义。

红外图像是由红外探测器接收到的目标区域红外辐射信号转换得到的。对于水面背景,水面自身辐射、水面反射天空辐射和太阳辐射等因素都会对红外图像产生影响,导致图像信噪比低、细节信息少且轮廓模糊。本发明针对由这些原因导致的背景亮度不均匀、低频背景干扰及盐噪声等三个主要干扰对图像进行了预处理。另外,考虑到热尾迹生成及浮升过程,热尾迹区域会存在难以检测的弱边缘及不明显的低温区域。本发明采用局部对比度累积的显著性检测方法,从空间域局部显著性的角度来对热尾迹区域进行分割,并采用形态学处理及最大连通域提取等操作对分割结果进行了优化。最终实现了对水面背景红外图像热尾迹区域完整有效的分割。

本发明通过预处理、基于局部对比度累积的显著性检测、分割结果优化等主要操作,主要从空间域局部对比度特征的角度,实现了对水面背景红外图像热尾迹区域完整有效的分割。



技术实现要素:

本发明的目的是对水中航行器产生的热尾迹对应的红外图像中的热尾迹区域实现完整有效的分割。首先采用同态滤波和均值滤波对图像进行预处理,然后对预处理得到的图像进行基于局部对比度累积的显著性检测,得到初步分割结果,最后采用形态学处理及最大连通域提取等操作对结果进行了优化,取得了更好的分割效果。

本发明采用的技术方案是:

基于局部对比度累积的水中航行器热尾迹分割方法,其特征在于如下步骤:

第一步:读取原始热尾迹图像i0,图像大小为m×n,m是图像i0的宽度像素,n是图像i0的高度像素;

第二步:若图像i0为彩色图像,则通过式(1)对图像i0中每个像素点的r、g、b三个通道的值进行加权,得到灰度图像ig;若图像i0为灰度图像,则令ig=i0;

ig=0.29900×r+0.58700×g+0.11400×b(1)

第三步:对图像ig进行灰度反转,通过对图像ig中每个像素点的灰度值进行式(2)所示的处理来实现,将处理后得到的图像记为f,其中f(x,y)表示图像f在坐标(x,y)处像素点的取值,ig(x,y)表示图像ig在坐标(x,y)处像素点的取值;

f(x,y)=255-ig(x,y)(2)

第四步:对图像f进行同态滤波,通过以下步骤来实现:

(a)假设图像f可以由入射光分量图像i和反射光分量图像r的和来表示,如式(3)所示,其中f(x,y)、i(x,y)和r(x,y)分别表示图像f、图像i和图像r在坐标(x,y)处像素点的取值;

f(x,y)=i(x,y)+r(x,y)(3)

(b)对式(3)的等号两侧取以e为底的对数得到式(4);

ln[f(x,y)]=ln[i(x,y)]+ln[r(x,y)](4)

(c)对式(4)的等号两侧分别进行二维傅里叶变换得到式(5),其中f(u,v)、i(u,v)和r(u,v)分别表示对ln[f(x,y)]、ln[i(x,y)]和ln[r(x,y)]进行二维傅里叶变换得到的结果,(u,v)表示进行二维傅里叶变换后的频域坐标;

f(u,v)=i(u,v)+r(u,v)(5)

(d)对f(u,v)进行高通滤波,通过式(6)来实现,其中s(u,v)为对f(u,v)进行高通滤波后得到的结果,符号·表示将h(u,v)和f(u,v)中相同坐标处的两个元素的值对应相乘。h(u,v)各元素的取值如式(7)所示,其中rh、rl、c和d0为需要设定的参数(rh应大于1,rl应小于1),d(,u)v的定义如式(8)所示,其中p和q的取值分别为f(u,v)中u和v最大取值的2倍;

s(u,v)=h(u,v)·f(u,v)(6)

d(u,v)=[(u-p/2)2+(v-q/2)2]1/2(8)

(e)对s(u,v)进行二维傅里叶逆变换得到s(x,y),如式(9)所示,其中表示二维傅里叶逆变换;

(f)对s(x,y)进行以e为底的指数操作,如式(10)所示,得到同态滤波后的图像g,式中g(x,y)表示图像g中坐标(x,y)处的灰度值,exp表示取以e为底的指数操作;

g(x,y)=exp[s(x,y)](10)

第五步:采用窗口大小为8×8个像素的中值滤波器对图像g进行去噪处理,该操作可以通过matlab软件中的imedfilt=medfilt2(g,[8,8])语句来实现,imedfilt是图像经过窗口大小为8×8个像素的中值滤波器滤波得到的图像;

第六步:设置一个大小为9×9个像素的正方形滑动窗口,将这个滑动窗口中划分为9个3×3个像素大小的不重叠的正方形区域,将位于中间的正方形区域称为中心图像块l0,并把它周围的8个正方形区域分别称为图像块l1~l8,将这些图像块简记为li(i=0,1,2,3...8);在窗口内进行如下操作:

(a)计算图像块li中像素的灰度均值和灰度中值,如式(11)和式(12)所示,其中mean_i表示图像块li的灰度均值,med_i表示图像块li的灰度中值,表示图像块li中第k个像素的灰度值;med(·)表示获取中值;

(b)对中心图像块l0周围的8个图像块(即i=1,2,3...8时),计算能够代表图像块li的灰度值gray_i,通过式(13)实现,其中max_i表示图像块li内像素点的最大灰度值,threshold为需要设定的阈值常数;

(c)通过式(14)计算窗口内s_lca的取值,并将其作为灰度值赋给中心图像块l0中的每一个像素(若s_lca的值大于255,则令s_lca的值为255),其中mean_0表示中心图像块l0中的像素灰度值的均值,可由式(11)求得,|·|表示取模值;

第七步:将第六步的窗口以3个像素为步长在图像imedfilt上从左至右、从上至下滑动,每滑动到一个新的位置则进行一次第六步的操作,当窗口在imedfilt整幅图像上完成滑动后,将得到的新图像记为ilca;

第八步:通过式(15)对图像ilca进行二值化处理,得到二值图像ilca2,其中ilca2(x,y)表示图像ilca2在坐标(x,y)处的灰度值,q为需要设定的常数,e[ilca(x,y)]表示ilca2整幅图像的灰度均值;

第九步:对图像ilca2进行形态学处理,具体步骤如下:

(a)通过式(16)确定形态学结构元素的大小size,其中round(·)表示四舍五入取整,k为需要设定的常数;

(b)通过matlab软件中的se=strel('disk',size)语句来构造大小为size×size的圆形结构元素se;

(c)通过matlab软件中的iclose=imclose(ilca2,se)对二值图像ilca2进行闭操作,得到图像iclose;

第十步:对二值图像iclose中取值为“1”的各八连通区域的像素值数目进行统计,保留其中最大的连通区域,并将其余位置处的像素的取值设置为“0”得到新的二值图像imask;

第十一步:将图像imask与图像ig两个矩阵中相同位置处各像素取值对应相乘,将得到的图像记为itarget,即为显示尾迹区域的图像。

本发明优点在于:

1、既可以处理彩色图像也可以处理灰度图像;

2、能够对复杂水面背景下对比度及信噪比较低的红外图像中的热尾迹实现完整有效的分割。

附图说明

图1为本发明的流程图;

图2为输入的原图i0;

图3为进行中值滤波后的图像imedfilt;

图4为二值化处理得到的图像ilca2;

图5为形态学处理得到的图像iclose;

图6为最大连通域提取得到的图像iclose;

图7为对热尾迹区域分割得到的图像itarget;

具体实施方式:

下面结合具体实例对本发明做详细说明。

1.基于局部对比度累积的水中航行器热尾迹分割方法,其特征在于如下步骤:

第一步:读取原始热尾迹图像i0,图像大小为m×n,m是图像i0的宽度像素,n是图像i0的高度像素;

2:若图像i0为彩色图像,则通过式(1)对图像i0中每个像素点的r、g、b三个通道的值进行加权,得到灰度图像ig;若图像i0为灰度图像,则令ig=i0;

ig=0.29900×r+0.58700×g+0.11400×b(1)

3:对图像ig进行灰度反转,通过对图像ig中每个像素点的灰度值进行式(2)所示的处理来实现,将处理后得到的图像记为f,其中f(x,y)表示图像f在坐标(x,y)处像素点的取值,ig(x,y)表示图像ig在坐标(x,y)处像素点的取值;

f(x,y)=255-ig(x,y)(2)

4:对图像f进行同态滤波,通过以下步骤来实现:

(a)假设图像f可以由入射光分量图像i和反射光分量图像r的和来表示,如式(3)所示,其中f(x,y)、i(x,y)和r(x,y)分别表示图像f、图像i和图像r在坐标(x,y)处像素点的取值;

f(x,y)=i(x,y)+r(x,y)(3)

(b)对式(3)的等号两侧取以e为底的对数得到式(4);

ln[f(x,y)]=ln[i(x,y)]+ln[r(x,y)](4)

(c)对式(4)的等号两侧分别进行二维傅里叶变换得到式(5),其中f(u,v)、i(u,v)和r(u,v)分别表示对ln[f(x,y)]、ln[i(x,y)]和ln[r(x,y)]进行二维傅里叶变换得到的结果,(u,v)表示进行二维傅里叶变换后的频域坐标;

f(u,v)=i(u,v)+r(u,v)(5)

(d)对f(u,v)进行高通滤波,通过式(6)来实现,其中s(u,v)为对f(u,v)进行高通滤波后得到的结果,符号·表示将h(u,v)和f(u,v)中相同坐标处的两个元素的值对应相乘。h(u,v)各元素的取值如式(7)所示,其中rh、rl、c和d0分别取8、0.8、4、1,d(u,v)的定义如式(8)所示,其中p和q的取值分别为f(u,v)中u和v最大取值的2倍;

s(u,v)=h(u,v)·f(u,v)(6)

d(u,v)=[(u-p/2)2+(v-q/2)2]1/2(8)

(e)对s(u,v)进行二维傅里叶逆变换得到s(x,y),如式(9)所示,其中表示二维傅里叶逆变换;

(f)对s(x,y)进行以e为底的指数操作,如式(10)所示,得到同态滤波后的图像g,式中g(x,y)表示图像g中坐标(x,y)处的灰度值,exp表示取以e为底的指数操作;

g(x,y)=exp[s(x,y)](10)

第五步:采用窗口大小为8×8个像素的中值滤波器对图像g进行去噪处理,该操作可以通过matlab软件中的imedfilt=medfilt2(g,[8,8])语句来实现,imedfilt是图像经过窗口大小为8×8个像素的中值滤波器滤波得到的图像;

第六步:设置一个大小为9×9个像素的正方形滑动窗口,将这个滑动窗口中划分为9个3×3个像素大小的不重叠的正方形区域,将位于中间的正方形区域称为中心图像块l0,并把它周围的8个正方形区域分别称为图像块l1~l8,将这些图像块简记为li(i=0,1,2,3...8);在窗口内进行如下操作:

(a)计算图像块li中像素的灰度均值和灰度中值,如式(11)和式(12)所示,其中mean_i表示图像块li的灰度均值,med_i表示图像块li的灰度中值,表示图像块li中第k个像素的灰度值;med(·)表示获取中值;

(b)对中心图像块l0周围的8个图像块(即i=1,2,3...8时),计算能够代表图像块li的灰度值gray_i,通过式(13)实现,其中max_i表示图像块li内像素点的最大灰度值,threshold取2;

(c)通过式(14)计算窗口内s_lca的取值,并将其作为灰度值赋给中心图像块l0中的每一个像素(若s_lca的值大于255,则令s_lca的值为255),其中mean_0表示中心图像块l0中的像素灰度值的均值,可由式(11)求得,|·|表示取模值;

第七步:将第六步的窗口以3个像素为步长在图像imedfilt上从左至右、从上至下滑动,每滑动到一个新的位置则进行一次第六步的操作,当窗口在imedfilt整幅图像上完成滑动后,将得到的新图像记为ilca;

第八步:通过式(15)对图像ilca进行二值化处理,得到二值图像ilca2,其中ilca2(x,y)表示图像ilca2在坐标(x,y)处的灰度值,q取2,e[ilca(x,y)]表示ilca2整幅图像的灰度均值;

第九步:对图像ilca2进行形态学处理,具体步骤如下:

(a)通过式(16)确定形态学结构元素的大小size,其中round(·)表示四舍五入取整,k取2000;

(b)通过matlab软件中的se=strel('disk',size)语句来构造大小为size×size的圆形结构元素se;

(c)通过matlab软件中的iclose=imclose(ilca2,se)对二值图像ilca2进行闭操作,得到图像iclose;

第十步:对二值图像iclose中取值为“1”的各八连通区域的像素值数目进行统计,保留其中最大的连通区域,并将其余位置处的像素的取值设置为“0”得到新的二值图像imask;

第十一步:将图像imask与图像ig两个矩阵中相同位置处各像素取值对应相乘,将得到的图像记为itarget,即为显示尾迹区域的图像。

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