APP下载

基于VisualC#.NET的火炮窥膛录像软件研究与实现

2018-11-13曹营修郑雨昊郑立评朱建杰

现代电子技术 2018年22期
关键词:身管火炮管内

曹营修 郑雨昊 郑立评 朱建杰

摘 要: 简述火炮窥膛录像设备主要硬件组成及功能,运用Visual Studio 2010可视化集成环境,基于Visual C#.NET开发火炮窥膛录像设备软件,设计软件功能,实现6大功能模块。將数据流实时传输到计算机中,于软件界面视频窗口观测身管内膛状态,并且具有录像数据留存功能。通过实炮实验得知,软件兼容火炮窥膛录像设备,通过IP地址、用户名和密码登录后能够清晰观测身管内部形貌,并可实现录像保存等功能。

关键词: Visual C#.NET; 火炮窥膛; 视频录像; 软件开发; 可视化; 数据流

中图分类号: TN946?34; TP319 文献标识码: A 文章编号: 1004?373X(2018)22?0045?04

Abstract: The main hardware composition and functions of the artillery spying bore video recording device are briefly described. The software of the artillery spying bore video recording device is developed based on Visual C#.NET by using the Visual Studio 2010 visualizable integration environment. The software functions are designed to realize six functional modules. The data flow is transmitted to the computer in real time. The inner bore state of the barrel is observed from the video window of the software interface which has the function of retaining and saving the video recording data. The results of the real gun experiment show that the software is compatible with the artillery spying bore video recording device, the internal shape of the barrel can be clearly observed after login with the IP address, user name and password, and video preservation and other functions can be achieved.

Keywords: Visual C#.NET; artillery spying bore; video recording; software development; visualization; data flow

0 引 言

火炮作为陆军作战的主要后方支援武器,为前沿部队提供火力压制和火力支援[1]。身管是火炮的核心部件,其内膛质量状态的好坏直接影响着射击精度和使用安全[2]。所以,在其生产、验收和使用过程中对火炮进行窥膛检测有重要意义。

随着光电技术的发展,窥膛方式通常采用摄像头、图像采集卡和计算机构成的图像处理系统[3?6]。因此,基于Visual C#.NET应用Visual Studio平台构建火炮窥膛录像设备系统软件 [7],开发视频采集与录像软件,面向对象直接开发,利用可视化界面设计,实现功能模块化。

1 火炮窥膛录像设备

应用光机电控制技术和CCD成像技术,结合身管内膛结构特点设计火炮窥膛录像设备。该设备通过四目曲柄链式窥膛摄像头装置获取身管内膛全景图像,维修技术人员通过计算机的窥膛录像软件实时观察内膛表面形貌,对内膛疵病进行定性检测,识别与分析疵病类型,测量疵病所处身管位置,同时可操控窥膛头装置进行拍摄和录像等操作。将内膛状态信息自动保存于以炮号命名的文件夹中,在火炮返修时可实现后期回放,了解火炮窥膛阶段身管状态,为评估身管提供参考,以作为火炮勤务保障依据。

1.1 硬件基本组成

火炮窥膛录像设备[8]如图1所示。其硬件部分主要有四目曲柄链式窥膛摄像头装置(简称窥膛头装置)、定位支撑装置、激光测距装置、主机(录像机与计算机)和相关附件。

1.2 设备功能

系统总体设计框架如图2所示,定位支撑装置通过莫氏锥度连接头与窥膛头装置相接,为窥膛头装置提供穿越身管的轴向移动定位支撑;窥膛头装置实现对身管内膛周向全覆盖拍摄;通过窥膛头装置获取四路模拟视频信号,每路视频流相互独立;将获取的视频流通过信号线接入4路硬盘录像机,进行视频信号的采集、压缩与存储。

窥膛录像设备的主机采用录像机和计算机双机系统,录像机采用嵌入式操作系统,CPU型号为海思3798M,实现图像和视频的采集、压缩与存储工作;计算机采用Window 7 X86操作系统,CPU 型号为Intel i3,实现图像处理与窥膛检测工作。设置计算机与录像机IP地址位于同一网段,相同子网掩码,两者通过百兆以太网连接构成局域网,满足视频传输带宽要求,实现计算机端实时观测内膛状态不会出现卡顿现象。

2 软件设计

2.1 开发平台

Visual Studio作为Microsoft公司制作的一种开发基于.NET Framework应用程序的可视化集成环境,具有强大的图像处理功能,可以用于直接生成Windows桌面应用程序和控制台应用程序等。所采用的C#语言[9]由C和C++语言衍生出来,以.NET Framework为平台,面向对象的编程语言[10],不仅具有C++的高性能、低级内存访问等强大功能,而且开发周期短;完全支持类和面向对象编程,包括接口和实现虚函数和运算符重载;可自动清理动态分配的内存[11]。窥膛录像软件选用Visual Studio 2010集成环境进行C#编程。

2.2 软件功能设计

窥膛录像主要实现以下几种功能:

1) 数据采集。其实现窥膛摄像头视频流的数据采集控制,通过录像机压缩,传输到计算机中,在窥膛录像软件界面框显示身管内膛状态。

2) 窥膛录像软件设置。设置录像软件的IP连接地址和端口,以及用户名与密码登录,保证数据安全和防止误删;设置视频显示窗口;设置点击录制按钮自动建立以火炮唯一出厂编号(简称炮号)为文件名的文件夹,并将录像存储其内;设置激光测距装置测量镜头进深显示窗,以及数据保存和Excel导出按钮;设置光源亮度调节按钮。

3) 视频监测。在视频显示四窗口火炮内膛实时图像,进行身管内膛疵病检测。

4) 数据留存。以后缀名为.MP4格式的视频方式将火炮身管内膛图像和相关参数留存,方便以后作为火炮返修依据。

2.3 软件功能模块

在Visual Studio 2010集成环境下开发Windows Forms界面,火炮窥膛录像软件主要包括程序载入、配置文件读/写、设备登录、图像实时播放、文件流读/写和日志生成等功能模块,如图3所示。

1) 程序载入

窥膛录像设备在进行身管检测前,利用窥膛软件初始化全局变量。窗体窥膛录像软件的构造函数Form1()中,首先进行界面UI元素初始化,下一步初始化程序配置信息,接着将硬件设备参数初始化,最后将所有的SDK日志进行保存。

2) 配置文件读/写

采用Init方法读/写配置文件app.config的对应配置的值,并赋值给对应的参数。

3) 设备登录

采用Login方法,首次登录时需输入录像机的IP地址、端口数、用户名和密码等各项参数,本软件有记忆功能,以后登录只需输入密码即可。

4) 图像实时播放

采用Preview方法构造预览视频通道,视频为四通道接口,显示身管内膛周视全景图像。采用UI控件句柄赋值IntPtr预览设备通道,确定码流类型及连接方式。

接下来输入炮号,点击录制按钮即可进行錄像,录像文件会自动保存于以炮号命名的文件夹中。

5) 文件流读/写

系统类System.IO.Directory定位文件目录,获取、打开指定文件路径。文件流读写程序框图如图4所示。

3 实验验证

运用火炮窥膛录像设备,在某型号口径为100 mm的牵引火炮上进行身管检测实验。将窥膛录像设备按图1所示方式连接,把窥膛头装置和定位支撑装置从炮尾放入药室,激光测距装置安装于炮尾端面,信号线建立主机分别与窥膛头装置和激光测距装置的通信。如图5所示为窥膛实验准备工作完成。

打开窥膛录像软件,将IP地址、端口数、用户名和密码各项参数输入对应框,点击连接按钮,登录成功后,即可在窥膛录像软件界面观察到内膛形貌,将显示如图6所示界面。维修技术人员可以在左侧四界面窗口观测身管内膛状态,输入6位炮号后,点击录制按钮,可将身管内膛录像存储于指定文件内,方便以后火炮二次维修时数据提取,为火炮勤务保障提供依据。软件可以连接激光测距装置显示每个摄像头所处身管位置,并且支持光源亮度调节功能。

4 结 语

本文基于Visual C#.NET运用Visual Studio 2010开发平台,开发设计了火炮窥膛录像设备系统软件,实现图像采集、视频监测、录像留存、测距装置控制模块整合和光亮调节等功能。在火炮擦拭后,进行实炮实验得知,与火炮窥膛录像设备兼容,观测到清晰流畅的内膛形貌图像,同时可以获得录像时间和所处通道数及摄像头所处身管位置,将录像视频保存于以炮号命名的文件夹,在火炮返修时回放鉴疵,为勤务保障提供依据。通过调整火炮窥膛录像设备的相关参数后,可用于管道检测。

参考文献

[1] 谈乐斌.火炮概论[M].北京:北京理工大学出版社,2014.

TAN Lebin. Introduction to artillery [M]. Beijing: Beijing Institute of Technology Press, 2014.

[2] 高望,张金,王瑾珏.火炮身管无损检测方法[J].火力与指挥控制,2015,40(7):16?19.

GAO Wang, ZHANG Jin, WANG Jinjue. Study on non?destructive detection methods of gun barrels [J]. Fire control & command control, 2015, 40(7): 16?19.

[3] 司骞,蔡怀宇,黄战华,等.基于USB2.0的CMOS图像实时采集系统设计[J].电子测量技术,2007,30(4):117?119.

SI Qian, CAI Huaiyu, HUANG Zhanhua, et al. Design of a real?time acquisition system of CMOS image based on USB 2.0 [J]. Electronic measurement technology, 2007, 30(4): 117?119.

[4] 于子江,娄洪伟,于晓,等.LabVIEW应用于实时图像采集及处理系统[J].微计算机信息,2007,23(13):98?100.

YU Zijiang, LOU Hongwei, YU Xiao, et al. Real?time image acquisition and processing system on LabVIEW [J]. Microcomputer Information, 2007, 23(13): 98?100.

[5] ZENG Zhiqiang, HUANG Pingping. Palmprint recognition using Gabor feature?based two?directional two?dimensional linear discriminant analysis [C]// Proceedings of International Conference on Electronic & Mechanical Engineering and Information Technology. Harbin: IEEE, 2011: 1917?1921.

[6] 徐其法,朱战立.基于Visual C#.NET平台的数字图像处理及其实现[J].现代电子技术,2007,30(20):121?122.

XU Qifa, ZHU Zhanli. Implementation of digital image processing based on Visual C#.NET [J]. Modern electronics technique, 2007, 30(20): 121?122.

[7] 杜聪,杜文华,曾志强,等.基于Visual C#的图像实時采集及处理[J].计算机工程与设计,2014,35(8):2939?2943.

DU Cong, DU Wenhua, ZENG Zhiqiang, et al. Real?time acquisition and processing of images based on Visual C# [J]. Computer engineering and design, 2014, 35(8): 2939?2943.

[8] 郑立评,曹营修,曹进华,等.火炮身管检测窥膛录像装置:CN201720046900.9 [P].2017?08?08.

ZHENG Liping, CAO Yingxiu, CAO Jinhua, et al. Artillery barrel detection spying bore video recorder: CN201720046900.9 [P]. 2017?08?08.

[9] 李春葆,蒋林,陈良臣,等.C#语言与数据库技术基础教程[M].北京:清华大学出版社,2016.

LI Chunbao, JIANG Lin, CHEN Liangchen, et al. Basic course in C# language and database technology [M]. Beijing: Tsinghua University Press, 2016.

[10] 夏敏捷,罗菁.Visual C#.NET基础与应用教程[M].北京:清华大学出版社,2014.

XIA Minjie, LUO Jing. Visual C#.NET foundation and application tutorial [M]. Beijing: Tsinghua University Press, 2014.

[11] 徐宙,刘连照,程彦杰,等.基于C#的数字存储示波器控制软件设计与实现[J].计量与测试技术,2016,43(2):53?55.

XU Zhou, LIU Lianzhao, CHENG Yanjie, et al. Design and realization of control software for digital storage oscilloscope based on C# [J]. Metrology & measurement technique, 2016, 43(2): 53?55.

猜你喜欢

身管火炮管内
火炮身管寿命评估方法及其标准研究
火炮也减肥
上倾管内油水两相流流型实验研究
基于垂向固有振动仿真的身管口径倍数设计研究
基于数值仿真的四种类型身管强度比较
扬矿管内高速螺旋流的数值模拟与仿真
腕管内原发性腱鞘结核误诊1例
微细管内CO2流动沸腾换热特性研究
身管兵器
对《火炮》一文不妥之处的商榷