基于OpenCV和VC6.0的数据监控系统设计
扫描二维码
随时随地手机看文章
摘要:文中基于OpenCV和VC6.0设计了一个实时监控系统,同时对OpenCV在VC6.0的环境下的配置及调用的相关函数也进行了详细论述。该方案对于监控系统下的图像处理的应用设计具有很高的实用价值。
关键词:OpenCV;VC6.0;图像处理;监控系统
0 引言
近几年来,计算机监控系统已广泛应用于交通、医疗、航天、军事等诸多领域,而其中的实时的图像处理、计算机视觉程序起着举足轻重的作用,OpenCV(Open Source Computer Vision Library)作为Intel开源计算机视觉库,由一系列C函数和少量的C++类构成,是可实现图像处理和计算机视觉方面的很多通用算法。OpenCV拥有包括300多个C函数的、跨平台的中、高层API,它不依赖任何其它外部库,是开放源代码,对非商业应用和商业应用都是免费的,具有基于Intel处理器指令集开发的优化代码,统一的结构和功能定义,强大的图像和矩阵运算能力以及方便灵活的用户接口。同时,OpenCV可以支持Windows和Linux平台。
1 硬件构成
图1所示是一个实时监控系统的结构框图。此系统首先通过Camera Link接口来接收相机传输的信息,并在解码后将数据保存在存储单元中,然后通过ARM总线接口将数据发送到远程计算机中。设计中的存储单元用FPGA实现,ARM选用三星的S3C2410芯片来实现,通过以太网将数据传输到计算机中。
2 软件实现
设计中的嵌入式系统采用Linux操作系统,内核采用2.6.26版本。计算机显示图像程序利用VC6.0实现,与ARM通过网络来通信,采用socket传输方式。其核心部分为:
3 Opencv安装及配置
第一步,从http:∥www.opencv.org.cn下载OpenCV1.0安装程序。在此过程要注意安装时选择“将\OpenCV\bin加入系统变量”
(Add\OpenCV\bin to the systerm PATH)。
第二步,检查C:\Program Files\OpenCV\bin是否已经被加入到环境变量PATH,如果没有,需加入。加入后需要注销当前Windows用户(或重启)后再重新登陆才能生效。[!--empirenews.page--]
4 配置Visual C++6.0
4.1 全局设置
菜单Tools->Options->Directories:先设置lib路径,选择Library files,在下方填入路径:C:\Program Files\OpenCV\lib然后选择include files,其配置图如图2所示。
4.2 项目设置
每创建一个将要使用OpenCV的VC Project,都需要给它指定需要的lib。其菜单为:Project->Settings,然后将Setting for选为All Configurations,选择右边的link标签,最后在Object/library modules附加上cxcore.lib cv.lib ml.lib cvaux.1ib highgui,lib cvcam.lib,具体设置如图3所示。
5 结束语
该监控系统的服务器为ARM S3C2410处理器,客户端为PC机,采用Windows XP操作系统,双核处理器,主频为2.4GHz,内存为2G,硬盘为320G,连接方式为千兆以太网,采用标准5类双绞线连接。
其数据来源为外部存储器(FPGA)的图像数据,经过千兆网络传输,将数据保存到上位机的文件中。图像为黑白色,格式为.raw,分辨率为1024*1280。
测试传输时间为1min,传输数据容量为1.76GB,经过计算,传输速率约为240Mb/s。其传输图像的一帧如图4所示。数据显示,该设计符合要求,传输也取得了良好的效果,因此,这种数据监控系统对于监控系统下的图像处理具有很高的应用参考价值。