APP下载

不规则形状目标毁伤效果计算方法

2013-12-02陈邓安沈培志丛红日

舰船科学技术 2013年2期
关键词:数组正态分布像素点

陈邓安,沈培志,丛红日

( 海军航空工程学院 指挥系,山东 烟台264001)

0 引 言

一般认为,武器毁伤概率是武器射击命中概率与目标毁伤函数乘积的积分[1]。实际上,运用这种解析方法评估目标尤其是不规则形状目标的毁伤情况,过程都非常复杂。基于目标灰度图像运用像素点法评估毁伤效果则较为简单。

基于目标灰度图像运用像素点法评估毁伤效果,是在获取目标实物图像前提下,直接在目标灰度图像上进行模拟射击,并将模拟射击的弹着点以特定颜色显示。这样,模拟射击结束后,图像上的弹着点都将显示出该种特定颜色,在计算机屏幕上就能形象地显示这次射击的命中情况,经过统计分析目标图像上显示该种特定颜色的像素点个数,即可得到相对命中概率。

考虑到目标各部分的重要程度可能各不相同,故射击时命中部位不同,毁伤效果也不一样。因此,将目标实物图像按重要程度不同区分为若干区域,用不同灰度等级表示。通过分析目标不同区域的命中情况,可以更加精确地评估射击的毁伤效果。

1 获取不规则形状目标图像的基本数据

1.1 对目标图像进行初步处理

通过光学侦察等手段获取清晰度满足使用要求的图像。

对目标图像进行初步处理,从背景中分离目标实物图像,为方便下一步计算,将目标实物图像处理为白色背景。

将目标图像处理为灰度图像,并用不同的灰度等级表示目标不同部位的重要程度。

1.2 在Matlab 软件中导入目标灰度图像数据

数值数组是Matlab 的基本数据类型,非常适于表达图像。在Matlab 软件中导入图像,并将图像数据存入数组中。在Matlab 软件命令窗口中输入命令:

A=imread (‘d: square.bmp’)。

导入计算机D 盘根目录下square.bmp 的图像[2],得到数组A。

图1 方形灰度图Fig.1 Square gray image

执行命令后,在命令窗口显示出许多数据,这些数据表示square.bmp 各个像素点的灰度值。观察数组A,主要由3 个数值组成,其中1 号区域为0,2 号区域为128,3 号区域为200。

灰度图像导入Matlab 软件后是1 个数据矩阵(二维数组),数组元素的值表示图像在该元素位置上的亮度值。用0 表示黑色,255 表示白色,用0 ~255 之间的整数表示灰(亮)度。

继续分析目标图像的基本数据:

S=size (A),得到S=[95,95],说明该图像长宽均为95 像素。

2 基于目标灰度图像进行模拟射击

以图像中心作为模拟射击的瞄准中心,直接在目标灰度图像上进行模拟射击,采用蒙特卡罗方法确定每次模拟射击的弹着点坐标,将每次射击的命中点以区别于目标实物着色的特定颜色显示。故每次射击,均能在计算机屏幕上形象地显示这次射击的弹着点分布情况。

火炮对目标进行射击,受到随机因素影响,其弹着点服从正态分布,利用正态分布的随机数可以模拟得到弹着点坐标(xi,yi)[1],从而可以直接在目标图像上以该坐标画出弹着点,为方便计算,将弹着点颜色设置为白色,与目标背景色相同。

3 评估模拟射击毁伤效果的基本步骤

将目标实物图像处理为白色背景,其步骤如下:

1)在模拟射击之前,分别统计目标图像上以不同灰度等级显示的不同部位的像素点数量。

2)以图像中心为模拟射击的瞄准点进行模拟射击,通过蒙特卡罗模拟得到弹着点坐标,并直接在目标灰度图像上画出弹着点,设置弹着点为白色,得到弹着点分布图。

3)射击结束后,再次统计不同灰度等级的像素点数量。

4)因为模拟射击弹着点颜色被设置为白色,故目标图像上不同灰度等级区域的弹着点数量,实际等于该区域原像素点数量减去模拟射击后统计得到的像素点数量,也就是本轮射击在该区域的命中次数。

5)根据既定条件,分析评估模拟射击对目标的毁伤情况。

4 实例分析

光学侦察发现3 000 m 外敌军轻型护卫舰,目标图片经处理后如图2所示,使用火炮对该舰进行射击。设火炮射击系统的系统误差为0,弹着点坐标受随机因素影响服从正态分布。在命中情况下,关键区域如指挥室、轮机舱命中3 发以上炮弹,则目标丧失全部战斗能力;关键区域命中2 发,且重要区域如主要武备与集控室命中2 发以上,则目标被重伤,丧失大部分战斗力;其余情况均为轻伤。若向该轻型护卫舰射击100 发炮弹,试分析评估目标的毁伤情况。

图2 护卫舰灰度图Fig.2 Frigate gray image

1)对目标图像进行处理

将光学侦察得到的目标图像处理为灰度图像,并用不同灰度等级表示该舰不同部位的重要程度,如图2所示。其中,A 为指挥室,B 为轮机舱,C为主要武备,D 为集控室,E 为其他部位。

将区域A 和B 用灰度等级0 表示其重要程度,C和D 用灰度等级80 表示,其余部位的重要性程度用灰度等级132 表示,得到图示轻型护卫舰灰度图像,命名为frigate.bmp,并将其存储在D 盘根目录下。

2)导入目标灰度图像数据

在Matlab 软件中导入目标灰度图像文件,并将数据存入数组A。

A=imread (‘d: frigate.bmp’),

即读入D 盘根目录下命名为frigate 的位图。并将图像数据存入数组A 中。

分析数组A,size(A)=[219,758],即A 为219 ×758 的矩阵,同时表示该图像高219 像素、宽758 像素。因该图为灰度图像,故矩阵A 各元素的数值表示以该元素下标为坐标的像素点的灰度值[2]。

该图中采用矩阵式坐标[3],即原点在图像左上角,坐标单位为像素。如A(181,377)=80,则说明坐标为(181,377)的像素点其灰度值为80。

3)统计不同重要程度区域的像素点数量

在Matlab 软件中,统计不同灰度等级区域的像素点数量。

通过查找数组A 中数值为0 元素的个数,确定A 和B 区域的像素点数量x1。

x1=size(A(find(A==0)))[3],

得到

x1=8 398。

通过查找数组A 中数值为80 元素的个数,确定C 和D 区域的像素点数量y1。

y1=size(A(find(A==80)))[3],

得到

y1=9 629。

通过查找数组A 中数值为132 元素的个数,确定E 区域的像素点数量z1。

z1=size(A(find(A==132)))[3],得到

z1=38 803。

4)瞄准目标的中心点坐标进行模拟射击,并直接在目标灰度图像上画出弹着点。

在Matlab 软件中显示并保持该灰度图像。

imshow (A)

hold on

以frigate 图像中心坐标(110,380)为瞄准中心进行模拟射击,其弹着点服从正态分布,利用正态分布的随机数模拟得到弹着点坐标(xi,yi)。

射击系统的系统误差为0,弹着点坐标在水平方向上偏差为σx,垂直方向上偏差为σy。弹着点坐标(xi,yi)由于随机因素的影响散布服从正态分布[4],产生标准正态分布的随机数η1和η2,在Matlab 软件中产生服从标准正态分布的随机数组[5]。设模拟射击n 次,则需产生n 组随机数,得到模拟射击弹着点坐标为[4]

式中:i=1,2,3,…,n 为模拟射击次数;μx和μy为选定坐标系中的瞄准点坐标,取μx=110,μy=380;σx和σy为中间偏差,σx=80,σy=80。

令n=100,即模拟射击100 次,通过式(4)得到弹着点坐标。在Matlab 软件中调用plot 命令直接在目标灰度图像中画出弹着点,可以得到模拟射击弹着点分布如图3所示。

图3 弹着点分布图Fig.3 Dropping point distribution image

在Matlab 软件中,通过编程计算得到模拟射击的弹着点坐标。为便于计算,设置所画“点”的颜色为白色,大小为1。

plot (X,Y′,.w′,′MarkerSize′,1),得到射击效果图(见图4)。

图4 射击效果图Fig.4 Shooting effect image

5)分析模拟射击的命中情况

仿真射击结束后,再次统计目标灰度图像上不同灰度等级的像素点数量。则本轮射击在某灰度区域的命中次数,也就等于该区域原像素点数量减去模拟射击后统计得到的像素点数量。

x2=8 396,y2=9 627,z2=38 798,

ShootAB=x1-x2=2,表示A 和B 区域命中2 发。

ShootCD=y1-y2=2,表示C 和D 区域命中2 发。

ShootE=z1-z2=5,表示E 区域命中5 发。

6)根据既定条件,分析评估模拟射击对目标的毁伤情况

综上所述,本轮射击发射炮弹100 发,命中轻型护卫舰关键区域2 发,重要区域2 发,其他区域5发,依据既定条件,判断该舰毁伤情况为重伤,丧失大部分战斗力。

5 结 语

直接结合目标实物图像运用像素点法进行毁伤效果评估,并采用蒙特卡罗方法模拟分析这一随机过程,可以绕开繁杂的公式推导,通过分析目标图像的像素点分布情况,直接得到统计结果。特别是针对不规则目标,在无法用确切的函数关系来描述其毁伤概率情况下,这种方法更加具有优越性。

此外,运用这种方法也可直接计算模拟射击的命中概率。即将模拟射击的弹着点显示为特定颜色,多次射击后,统计图像中目标轮廓内特定颜色的像素点个数,即为本轮射击的命中次数,计算其占总射击次数的百分比,即可得到相对命中概率。

[1]张野鹏.作战模拟基础[M].北京:高等教育出版社,2004.284-324.

[2]冈萨雷斯,等.数字图像处理(MATLAB 版)[M].北京:电子工业出版社,2007.202-222.

[3]张志涌.精通Matlab 6.5 版教程[M].北京:北京航天航空大学出版社,2003.38-76.

[4]裴鹿成,王仲厅.蒙特卡罗方法及其应用[M].北京:海洋出版社,1998.211-268.

[5]史峰,成本森,陈冰,等.MATLAB 函数速查手册[M].北京:中国铁道出版社,2011.410-448.

猜你喜欢

数组正态分布像素点
JAVA稀疏矩阵算法
关于n维正态分布线性函数服从正态分布的证明*
图像二值化处理硬件加速引擎的设计
基于局部相似性的特征匹配筛选算法
JAVA玩转数学之二维数组排序
生活常态模式
基于像素点筛选的舰船湍流尾迹检测算法
基于canvas的前端数据加密
更高效用好 Excel的数组公式
正态分布及其应用