第4期 王彦杰,等:基于光学图像的舰船航迹检测 ·49· 这是一种与中值滤波的处理过程相似,但功能有所 不同的算法.该算法让模板依次扫过整个图像,每到 待处理图片 存在航迹 条纹增 Radon]检测结果 一处,读取模板所覆盖的像素的灰度值并对其进行 强算法 变换 排序,将排序后的最大值和最小值的差值赋给模板 中心位置的像素,作为该像素新的灰度值经上述处 不存在航迹 抛弃 理后,灰度值变化较大,即深浅相间的条纹区域明显 得到增强,而变化缓慢的背景则被弱化.随后再使用 Radon变换,则航迹的“V”字形特征在变换域中得 图5检测流程 到很好的体现,表现为具有高灰度值的、很明显的2 Fig.5 Detection flow 个小区域.对实际图像施用的效果如图4所示 到的航迹,结果如图6所示.这里,Source picturel 是单纯的航迹图像,原图中的Kelvin航迹只有一 半,但由于湍流航迹的存在,系统依然给出了正确结 果.Source picture.2中含有许多干扰背景,但由于干 扰的背景不满足“V”形及湍流航迹的夹角约束,系 统成功地屏蔽了它们,也给出了正确结果 (a)原航迹 ×104 22 18 1.4 0.6 6(degrees) (a)航迹1 (b)增强航迹 (c)Radon变换 图4条纹增强算法 Fig.4 Stripe strengthening algorithm 在实验过程中,曾尝试使用过Sobel、Prewitt等 边缘检测算子,但效果很差.此外,使用Kuo提出 的基于小波变换的方法来去除噪声以凸现航迹特 征,也取得了好的效果,但其计算复杂度远比上述条 纹增强算法高: 4航迹检测系统 (b)航迹1检测结果 为了验证算法的有效性,实际构建了基于Ra don变换的航迹检测系统.系统的软件流程如图5 所示 为了提高检测的精确度,适应航迹的幅度变化, 使用了滑窗Radon变换I.这样,当被检测区域很 大且航迹幅度相对较小时,也可以准确无误地检测 到航迹.在变换域中提取极大值时,使用了爬山法; 提取到极大值后,考虑到航迹“V”形的夹角为39°, 湍流航迹和“V”两边的夹角均为19.5°的约束6,将 (e)航迹2 孤立的极值点舍去,而后进行逆变换,便可得到检测 1994-2009 China Academic Journal Electronic Publishing House.All rights reserved.http://www.cnki.net这是一种与中值滤波的处理过程相似 ,但功能有所 不同的算法. 该算法让模板依次扫过整个图像 ,每到 一处 ,读取模板所覆盖的像素的灰度值并对其进行 排序 ,将排序后的最大值和最小值的差值赋给模板 中心位置的像素 ,作为该像素新的灰度值. 经上述处 理后 ,灰度值变化较大 ,即深浅相间的条纹区域明显 得到增强 ,而变化缓慢的背景则被弱化. 随后再使用 Radon 变换 ,则航迹的“V”字形特征在变换域中得 到很好的体现 ,表现为具有高灰度值的、很明显的 2 个小区域. 对实际图像施用的效果如图 4 所示. 图 4 条纹增强算法 Fig. 4 Stripe strengthening algorithm 在实验过程中 ,曾尝试使用过 Sobel、Prewitt 等 边缘检测算子 ,但效果很差. 此外 ,使用 Kuo [4 ] 提出 的基于小波变换的方法来去除噪声以凸现航迹特 征 ,也取得了好的效果 ,但其计算复杂度远比上述条 纹增强算法高. 4 航迹检测系统 为了验证算法的有效性 ,实际构建了基于 Ra2 don 变换的航迹检测系统. 系统的软件流程如图 5 所示. 为了提高检测的精确度 ,适应航迹的幅度变化 , 使用了滑窗 Radon 变换[ 2 ] . 这样 ,当被检测区域很 大且航迹幅度相对较小时 ,也可以准确无误地检测 到航迹. 在变换域中提取极大值时 ,使用了爬山法 ; 提取到极大值后 ,考虑到航迹“V”形的夹角为 39°, 湍流航迹和“V”两边的夹角均为 19. 5°的约束[ 6 ] ,将 孤立的极值点舍去 ,而后进行逆变换 ,便可得到检测 图 5 检测流程 Fig. 5 Detection flow 到的航迹 ,结果如图 6 所示. 这里 ,Source pict ure1 是单纯的航迹图像 ,原图中的 Kelvin 航迹只有一 半 ,但由于湍流航迹的存在 ,系统依然给出了正确结 果. Source pict ure2 中含有许多干扰背景 ,但由于干 扰的背景不满足“V”形及湍流航迹的夹角约束 ,系 统成功地屏蔽了它们 ,也给出了正确结果. 第 4 期 王彦杰 ,等 :基于光学图像的舰船航迹检测 ·49 ·