基于 Qt5 和 OpenCV 的多波束前视声呐显控软件的设计与实现

(整期优先)网络出版时间:2020-05-07
/ 2

基于 Qt5 和 OpenCV 的多波束前视声呐显控软件的设计与实现

徐小明

中国船舶集团有限公司第七一〇研究所,湖北 宜昌 443003

摘要:近年来,随着科技的进步和需求的增加,对海洋的探索和开发的程度也越来越深,声呐技术也得到了长足的发展,声呐成像技术在其中扮演了重要的角色。本文基于Qt5和OpenCV技术设计并实现了前视声呐显控软件,该软件可在Windows或Linux平台上使用。

关键词:多波束前视声呐、显控软件、Qt5、OpenCV

1.软件总体架构

本软件采用网络进行通讯,可实现声呐图像实时显示,图像数据的记录与回放,声呐参数设置等功能,软件要求能够跨平台运行,因此选择Qt5作为集成开发环境,Qt5能够方便地和OpenCV相结合进行图像处理与显示。

5eb3c9c7874d1_html_d817ee81533e5dff.gif

图1 多波束前视声呐显控软件框图

多波束前视声呐显控软件通过网络与声呐处理单元进行连接,可对声呐进行参数设置和参数读取,将声呐处理单元发送过来的数据进行显示与存储,必要时可进行回放,本显控软件具有以下功能:

设置和读取声呐的相关参数,如频率,带宽,开角大小等参数;

将接收声呐处理单元发送的图像进行插值和坐标变换,并转换为QImage进行显示;

将网口接收到的图像数据保存为dat格式,并能进行回放及回放时的控制;

鼠标点击图像区域可显示目标点的距离,方位等信息;

2.声呐处理单元

声呐处理单元为显控软件和实体声呐之间的适配层,提供操作声呐所需的所有接口,包括连接、断开声呐,设置、获取声呐参数和图像参数,将声呐的原始图像数据转换为OpenCV的Mat格式等功能。这种分层的设计方式可以减少新项目的开发工作量,对于不同型号的声呐只需修改声呐处理单元和按需调整显控软件的界面布局,而不需要修改显控软件处理和显示数据的内在逻辑。

3.显示模块

3.1显示模块功能简述

显控软件的最终目的是显示和控制,显示模块将接收到的Mat图像数据进行插值和变换后,最终转换为Qt5平台中的QImage供QML编写的模块显示。为了便于使用,显控模块实现了图像数据的存储、回放功能,并可以暂停和使用滑动条拖放播放进度,用鼠标点击图像区域可以显示经纬度、时间、距离等信息。

显示模块也提供了与声呐交互的控制功能和状态显示功能。

3.2矩阵图像变换为扇形图像

声呐发出的波束反射回来后得到原始图像数据,原始图像数据经过声呐处理

单元处理后转换为cv::Mat格式图像,该图像和像素的角度信息一同传递给显控端,显控模块对图像做线性插值和坐标变换后得到扇形图像供后续操作,如图2所示。

5eb3c9c7874d1_html_a6cb4a2ea58009f3.png

图2 矩阵图像变换为扇形图像

采用OpenCV的resize函数将接收到的Mat原始图像做线性插值转换为界面

图像显示区域高度和宽度(宽度为高度的两倍)。然后将插值后的矩形图像转换为扇形图像,图2中的②号矩形图像中的(j, i)像素和③号扇形图像中的(row, col)像素的对应关系(α角度信息和图像信息同时由声呐处理单元提供)如下:

row = HN - (HN - j )* cos(α) (1)

col = HN + (HN - j )* sin(α) (2)

因此变换代码如下:

m_matImageFan.at(row, col) = matResized.at(j,i);

其中m_matImageFan为我们需要的扇形图像,对应图2中的③,matResized为插值后的矩形图像,对应我们的图2中的②。将矩形图像变换为扇形图像后,编写函数将扇形Mat图像转换为QImage,然后实现QQuickImageProvider接口将QImage图像提供给QML编写的模块显示,最终的效果如图3所示。

5eb3c9c7874d1_html_616e9082b7cbc2f5.png

图3 显控软件界面

4.结语

本文设计并实现了多波束前视声呐的显控软件,通过Qt5和OpenCV对图像进行了变换和显示,同时也实现了基本的控制功能,图像的保存与回放等功能,经试验验证,本软件可实时准确地显示声呐图像。

参考文献

[1]张天亮.浅谈多波束成像声呐显控软件设计及实现[J].中国科技博览,2017.36(2):45-49.

[2]孙裕超,张学磊,田甜,王文琮.多波束成像声呐显控软件设计与实现[J].水声工程,2017,43(3):82-87.

[3]张小平.高分辨率多波束成像声呐关键技术研究[D].哈尔滨:哈尔滨工程大学,2013.

[4]Robert Laganiere. OpenCV 3 Computer Vision Application Programming Cookbook (Third Edition)[D].Birmingham:Packt Publishing,2017.

[5]霍亚飞,程梁.Qt5编程入门(第二版)[D].北京:北京航空航天大学,2019.