admin 管理员组文章数量: 887021
2023年12月16日发(作者:常量元素在体内含量不小于)
电子技术与软件工程Electronic Technology & Software Engineering软件开发与应用Software Development And Application基于工业云台视频监控终端二次开发平台的设计华壮侯杨阳陈敏杰朱浩宇钮宁宁
(江苏第二师范学院物理与电子信息工程学院江苏省南京市210000 )摘要:本文设计了一款基于MFC+OpenCV的可二次开发的视频监控终端系统,通过串口通讯,基于Pelco-D/Pelco-P控制协议实现
了对工业变速云台360。方向控制和角度设置;并通过在云台上搭栽摄像头,实现对监控场景的实时监测。经过调试,表明本系统具有较
高的稳定性和实操性。关键词:云台控制;串口通讯;MFC;
OpenCV;视频监控近年来,随着计算机技术和网络技术的快速发展,视频监控技
术在停车场、地跌、机场、商城、写字楼等重要公共场所得到了广
泛的运用,可以说各行各业以及人们的日常生产生活都离不开视频
监控技术[11。随着视频监控技术的日益成熟,也越来越成为计算机
视觉研究领域中的热点。各大高校、教育机构应人才培养需求设置
了相关课程和课题设计,因此,高校大学生在校期间非常有必要接
触到此类此类项目的开发设计,通过此类项目的教学实训,不仅可
以提高学生对所学知识的理解程度,更能够充分锻炼动手实践操作
能力,很大程度上提高了专业技术竞争力,对学生的职业规划起到
了积极的作用。另外,该系统也可直接应用于企业中的工程应用或
实验测试中,具有一定的社会实用价值。1系统设计该系统主要分为三大模块,分别为串口通讯、云台控制模块、
视频监控模块。云台控制模块是视频监控的核心,是通过串口通汛,
基于Pelco-D/Pelco-P控制协议,将控制指令发送给FY-SP15丨0轻
载智能变速云台设备,设计对应控件实现对云台设备360°方向控制,
并可进行云台任意角度的设置;视频监控模块主要实现对搭载相机
的图像采集捕捉与显示。2串口通讯本文设计用到了
MFC中的一种ActiveX控件MSComm,该控件提供了与下位机通信的接口来支持对串口的访问[2],在串口有数
据到达时,促发相应的事件响应,在事件函数里进行数据的读取。
基本步骤如下:(1) 注册MSComm控件;(2) 添加MSComm控件;(3) 添加控件变量;(4) 串口信息配置及打开。3 台控制云台,视频监控系统的转向装置,云台的转动角度决定了
视频监控的视野范围。本系统所选用的智能变速云台基本性能
参数为:RS422通信接口,水平旋转角度0〜360°连续旋转,俯
仰-60〜+60°,水平0.01〜30°/S,俯仰0.01〜15°/S,通信波特率有
2400/4800/%00/19200bps 可选,通讯协议支持
Pelco-D、Pelco-P。计算机通过串口
RS422并利用RS485转换器与云台解码器相
连接,云台和云台解码器之间通过控制电缆相连,计算机通过串口
向解码器发送数据,通过解码器翻译电平指令使得云台执行相应动
作m。本系统解码器选定Pelco-D为控制云台通信协议。3. 1
Pelco-D 协议数据格式为:1位起始位、8位数据位、1位停止位,无校验位。
波特率:9600bps。Pelco-D采用一个数据包的格式传输,所有数据
均采用十六进制,•般用于矩阵和其他设备之间的通信[31,内容包
括云台控制命令,摄像机控制命令、辅助控制命令、预置位设置和
调用命令。其基本命令格式如表1所示。FF:同步字节,始终为OxFF;Add:地址位,取值范围为0x00〜OxFF,默认地址1;Cmdl、Cmd2:命令码;Q
NMBI*
-Atmrft图1:系统界面
Datal、Data2:数据码;Checksum:校验位,Checksum =
add +
Cmdl +
Cmd2 +
Datal +
Data2 〇本云台的基本控制指令如图表2所示。在控制指令中,Byte3决定执行的指令,DataH、DataL为指令
对应的数值的高字节和低字节。另外,还包括变倍加减控制、聚焦
远近控制、光圈开关控制以及巡航停留时间查询回传、守望时间查
询回传等控制指令,则作为二次开发设计的预留功能。3. 2控制实现本系统中,对云台的基本控制共分为三个模块:连续转动方向
设置模块、自由角度查询与设置模块、线扫控制模块。在MFC对
话框中设计控件按钮,添加对应的响应函数。3.2.丨连续转动方向设置模块在该模块中,通过上下左右以及斜反向的方向键从而控制云台
的上下左右以及左上、左下、右上、右下方向的转动,其中转动速
度的大小可在参数中设定和修改,从而实现对监控场面的全方位观看。本云台水平速度和俯仰速度级数在取值范围内可设定1〜64级,
云台上下左右方向转动的实现,都是单命令响应,也就是每个按键
都只需要执行一条指令;而对于斜方向的控制则是两个方向指令叠
加的结果。3.2.2自由角度查询与设置模块在视频监控过程中,为方便远程管理和观看,除了连续转动控
制之外,还需要针对特定点进行观测,这就需要监控终端具备对云
台任意角度的设置与查看功能。本模块中,从两个方向来确定云台
的位置:俯仰角度和水平角度,分别包含设置和查询两个功能。在
处理俯仰角度-60°〜0时,需要注意一点,要将其转变为十六进制,•基金项目:大学生创新创业训练计划项目45
软件开发与应用Software Development And Application电子技术与软件工程Electronic Technology & Software Engineering表1:
Pelco-D协议命令格式字节1字节2字节3字节4
Cmd2
表2:云台控制信息序号1112功能名称水平向右控制水平向左控制俯仰向上控制俯仰向下控制停止指令水平角度定位俯仰角度定位定位速度设置运行水平线扫停止水平线扫水平角度查询命令俯仰角度查询命令指令FF
Addr 00 02
HSPD 00
ChecksumFF
Addr 00 04
HSPD 00
ChecksumFF
Addr 00 08 00
VSPD
ChecksumFF
Addr 00 10 00
VSPD
ChecksumFF
Addr 00 00 00 00
ChecksumFF
Addr 00 4B
DataH
DataL
ChecksumFF
Addr 00 4D
DataH
DataL
ChecksumFF
Addr 00 5F
HSPD
VSPD
ChecksumFF
Addr 00 1B 00 00
ChecksumFF
Addr 00 1D 00 00
ChecksumFF
Addr 00 51 00 00
ChecksumFF
Addr 00 53 00 00
Checksum备注①②字节5字节6Data2字节7FFAddCmdlDatalChecksum③④注1:①HSPD:水平速度级,取值范围0x00〜0x40,共64级;②
VSPD:俯仰速度级,取值范围0x00〜0x40,共64级;③
DataH、DataL为0〜36000间的十六进制数,对应水平0-360度;④ 俯仰角度格式:0=horizontaUy; 90=straightdown; 270=straightup;
Range:0~9000and27000〜35999 (实际角度范围以技术要求为准)。其默认的数据应是反方向对应的角度。3.2.3线扫控制模块控制云台在水平方向的一定范围内,以一定的速度来回扫描。
云台搭载相机后,则实现摄像机在左、右限位之间以设定的速度进
行水平自动往复扫描。4视频监控本系统搭载测试用工业相机视频接口为最普遍的AV接口,有
效像素1280(H)* 1024(V),配合Microvision工业高清图像采集卡
MV-800,将视频信号转换为CPU可以接受的信号,再通过上位机
软件调用OpenCV相应处理函数来实现对监控视频流的采集和编
辑。height*3);imgdata =Mat(Size(m_width,m_height),CV_8UC3);memcpy(imgdata.
data,
BUFFER,m_width*mheight*3);5界面设计本系统的开发环境是基于Windows平台下的visual
studio
2012,配置OpenCV2.4.10,搭建MFC对话框创建的监控终端控制
界面。整体控制界面如图1所示。6结语基于MFC对话框,本文实现了通过串口通信对智能变速云台
利用Micmvision图像采集卡获取视频信号,前提是要配置好
设备的控制,并对搭载相机通过图像采集卡,结合OpenCV来获取
相应的编译环境:监测图像,最终实现一个完整的视频监控上位机控制终端。本系统
(1) 将SDK安装目录下的Inc和Lib目录路径分别加入本工
可以直接应用于企业中的工程应用或实验测试;因本身具备开源性,
程设置的 “C/〇H-Preprocressor-Additional
include
directories” 和易于进行二次开发,也非常适合作为教学实训平台用,具有较高的
“
Link-Input-Additional
library
path ” 中。教学价值和社会应用价值。(2) 将
文件加入工程设置的 “Link-General-
Object/library
module” 中。#考文献2012
(3) 将IncVDSStream.h 文件加入工程,并“#include
DSStream.h”[1] 叶斌.视频监控技术的现状与发展[门.中国传媒科技,(12): 229.中。[2] 聂大菊,祝忠明,杨敏.基于串口通讯系统的上位机设计[J].
(4) 将文件拷入系统目录中。信息通信.2015 (1): 163.根据系统需求编写代码,本模块中的难点在于从SDK回调函
[3] 魏崇毓,韩永亮.云台控制系统的研究与设计[门.科技信息
数中获取的原始图像数据的格式转换,这里获取DIB数据后,调
2011 (3): 503.用了
OpenCV中的构造函数Mat,将图像转换为Mat格式,并在
MFC对话框中picture控件上输出。//获得dib数据大小作者简介华壮(2000-),男,安徽省蚌埠市人•大学本科学历,电子信息
DSStream_GetCurrentDib(id,pImageMem,&size);
//读取dib"数据工程专业.侯杨阳(1989-),女,山东省菏泽市人。硕士学位.研究方向为图
plmageMem = (BYTE*)malloc(size);DSStream_GetCurrentDib(id,pImageMem,&size);像处理算法分析与研究。陈敏杰( 1999-),女,四川省绵阳市人•大学本科学历,电子信
pHdr=(BITMAPINFO*)pImageMem;息工程专业。int
m_width=pHdr->h;朱浩宇(2000-),男,上海市川沙人,大学本科学历,电子信息
int
m_height=pHdr->ht;BYTE*BUFFER=
new
BYTE[m_width*m_工程专业。钮宁宁( 1999-),女,安徽省滁州市人。大学本科学历,电子信
height*3];息工程专业。memcpy(BUFFER,pImageMem+40,m_width*m_46
版权声明:本文标题:基于工业云台视频监控终端二次开发平台的设计 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1702724391h428181.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论