井下电视客户端软件的设计与实现

2018-05-07 03:27严正国胡明月
现代计算机 2018年9期
关键词:测井高清客户端

严正国,胡明月

(西安石油大学光电油气测井与检测国家教育部重点实验室,西安 710065)

0 引言

井下电视是用来获取井下直观图像资料的一种电视成像测井仪器[1],主要用于石油、气、水井中套管问题诊断。视频成像测井仪即井下电视(downhole video)以其图像直观、清晰、实时性好而在成像测井仪器中独树一帜[4]。随着测井技术的发展,井下电视有了重要的突破,搭载新一代测井电缆高速传输技术的网络高清井下电视可取得高清井下视频图像资料,解决了模拟视频无法远距离传输的问题。为测井人员设计井下作业方案提供了可靠的依据,并且可对井下作业效果检查评估。设计一款客户端软件可最大程度人为直观地控制网络高清井下电视,实现其客户端控制、决策和管理。

1 井下电视及SDK简介

网络高清井下电视整体上分为三大部分[3]:网络高清井下电视下井仪,网络高清井下电视地面仪、PC,如图1所示:摄像头在下井仪部分采集井下视频通过处理由测井电缆传输到地面仪,地面仪对传回的视频处理后显示在PC端。网络高清井下电视可实现在铠装电缆上传输距离长达7000m、电缆传输速率超过1Mb⁃ps,电缆自适应,网络化等优势,其传输的图像为流畅的彩色全帧率图像,开辟了测井技术的新邻域。

图1 井下电视结构框图

SDK是提供给软件开发人员进行应用程序开发的,程序员据此就可以快速地建立应用软件,而省去了编写硬件代码和基础代码框架的过程。通过调用SDK提供的API函数完成系统各个模块的功能。客户端软件开发中视频处理和字符叠加模块是基于海康威视设备网络SDK开发包进行二次开发。设备网络SDK是基于设备私有网络通信协议开发的,为嵌入式网络硬盘录像机、网络摄像机等网络产品服务的配套模块[2]。考虑到硬件兼容性问题,云台控制模块采用雄迈的设备网络SDK开发[7]。利用功能强大的SDK开发网络高清井下电视客户端软件具有功能完善,可靠性高,开发周期短,效率高,开发成本低等优点。

2 客户端软件的设计与实现

该客户端软件是在Windows7操作系统下使用Mi⁃crosoft Visual Studio 2005进行开发。在开发中使用C++面向对象编程语言进行编程。基于MFC进行软件界面设计,SDK进行具体功能开发。采用面向对象的程序设计思想,将系统整体划分为界面层和逻辑处理层两大模块。

2.1 需求分析

根据测井需要,客户端软件视频处理包括:视频连接、播放、录像,抓图功能;利用MFC将这部分功能控件置于客户端软件主界面,主界面是整个软件的核心部分,实现实时预览井下状况,诊断井下问题;录像,并抓图分析,测井过程中需要配置下井仪下井速度与深度,标注井号,井况等信息。字符叠加功能在参数配置框中,用于深度参数配置(包括编码器脉冲常数,同步轮周长,深度值),OSD设置(视频标题设置,用户标注设置)。井下环境复杂,空间狭小,黑暗。PTZ控制摄像头上、下、左、右、居中以及摄像头焦距和灯光,可对井下状况进行全面准确的参数配置对深度参数及OSD进行设置,云台控制实现对摄像头方位及灯光亮暗进行控制。

2.2 客户端软件分功能模块设计

测井人员直接与界面层接触,设置友好的操作界面和操作方式可为测井人员在测井过程中提供良好的体验。客户端软件的界面设计如图2所示。

图2 井下电视界面框架图

利用面向对象设计思想,把整个客户端软件划分为界面层和逻辑处理层两部分,界面层由测井人员直接操作,界面层使用MFC根据需求实现设计,同时对不同功能模块分别创建不同的类,调用SDK提供的库函数实现软件功能[5]。

客户端软件按功能模块分为三个类:class CReal⁃PlayDlg主要用于选择一路播放通道,井下视频实时播放,录像,抓图;class SerialTransDlg主要用于深度参数设置,OSD设置;class TransparentDemonDlg主要用于进行云台控制。

视频播放是从网络设备取实时码流,解码显示到客户端界面;该功能主要是调用SDK的接口NET_DVR_RealPlay_V30实现视频预览播放;调用接口NET_DVR_StopRealPlay停止播放;录像主要实现网络摄像机实时数据流存储,录像按照如:20170323091834_ch01.mp4格式存储在record文件夹里。在测井过程中抓取图片有利于辅助测井人员分析井况,抓取图片调用NET_DVR_CapturePicture接口,抓图之前保持一路通道播放测井视频,抓图模式分为BMP和JPG。

参数配置部分主要分为深度参数配置合OSD设置,深度参数配置用来配置下井仪下井速度与深度。OSD设置部分用来设置测井视频标题如:井号信息,位置,叠加的方式,字体型号,颜色大小,显示模式叠加到视频码流中去。用户标注,以及数据的显示位置,行为10,列为24调用SDK接口NET_DVR_SerialSend通过透明通道向设备发送数据,调用NET_DVR_SerialStart建立透明通道,NET_DVR_SerialStop停止透明通道,数据编码标准为字符型和ascii。

云台控制摄像头位置,摄像头中灯光的亮暗,以及焦距的远近,云台控制协议为PELCO-D,利用该协议对摄像头的上、下、左、右、居中,摄像头焦距远近进行控制;利用自定义协议控制灯光。整个软件的流程框图如图3所示。

3 软件运行界面效果

图3 客户端流程框图

图5 套管结垢测井图片

网络高清井下电视客户端软件设计完成后,界面图如图4所示,软件与网络高清井下电视连接成功,在多次测井中取得了良好的效果,系统运行稳定,从井下传输回来的实时图像清晰流畅。图5为客户端软件测井图片。高清井下电视客户端软件的设计,该软件支持TCP/IP协议,兼容性良好,界面美观易操作,能显著提高测井人员的工作效率,为设定井下作业方案提供了可靠的依据。且实现了设备登录,视频连接,播放,录像,抓图,深度参数配置(包括编码器脉冲常数,同步轮周长,深度清零,深度设置),OS D设置(视频标题设置,位置设置,用户标注设置),云台控制等功能。并在实际测井应用中取得了很好的效果,有较高的应用推广价值。

4 结语

通过使用HIKVISON SDK和雄迈SDK实现网络

参考文献:

[1]严正国.井下电视成像测井图像压缩技术研究[D].西安电子科技大学,2005.

[2]海康威视.设备网络SDK编程指南[EB/OL].http://www.hikvision.com/cn/download_61.html

[3]严正国,张家田.井下电视图像压缩技术[J].西安石油大学学报(自然科学)

[4]张家田,严正国,胡长岭等.井下视频成像测井技术[J].仪器仪表学报,2007,28(4):714~717.

[5]王永嘉.监控系统-客户端设计与实现[D].浙江大学,2009.

[6]Barron J,Fleet D,Beauchemin S.Performance of Optical Flow Techniques.International Journal of Computer Vision,1994,12(1):42-77.

[7]雄迈.网络SDK开发手册[EB/OL].https://pan.sohu.net/f/MTY4MzQsaGR1a20.html.

猜你喜欢
测井高清客户端
本期广告索引
你的手机安装了多少个客户端
“人民网+客户端”推出数据新闻
——稳就业、惠民生,“数”读十年成绩单
三峡工程高清影像公布 等
测井工作中存在的误区与应对措施
我国测井评价技术应用中常见地质问题分析
教你玩转AV设备(一):4K高清播放机使用指南
媒体客户端的发展策略与推广模式
上海——电影之城 高清家庭影院来了——东方电影高清频道5月8正式开播
新华社推出新版客户端 打造移动互联新闻旗舰