基于QT的视频目标检测方法
2012-08-08蔡广伟
蔡广伟,兰 华
(江西省宜春市广播电视台,江西宜春,336000)
QT是一个跨平台的C++图形用户界面应用程序框架,它提供给应用程序开发者建立美观的图形用户界面所需的所用功能[1]。QT完全面向对象,容易扩展,并且允许真正地组件编程,它具有以下特点[1]:
(1)优良的跨平台特性QT支持MS/Windows-95、98、NT 4.0、ME、2000、XP 、Vista 和 Win7;U-nix/X11-Linux、Sun Solaris、HP-UX、Compaq Tru64 UNIX、IBM AIX、SGI IRIX和其它X11平台;Macintosh-Mac OS X;Embedded-有帧缓冲(framebuffer)支持的Linux平台,Windows CE。
(2)面向对象。QT的良好封装机制使得QT的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便的。QT提供了一种称为Signals/slots的安全类型机制,使得各个元件之间的协同工作变得十分简单。
(3)丰富的API。QT包括多达250个以上的C++类,还提供基于模板的Collections,Serialization,File,I/O device,Directory management,Date/time类。
(4)支持2D/3D图形渲染,支持OpenGL。
(5)大量的开发文档。
因此,基于QT编程环境,本文实现了视频中运动目标检测程序。该程序采用QT作为开发工具,利用背景差分算法和对称差分算法进行运动目标检测。实验结果表明,基于背景更新的背景差分算法对于光照的变化不敏感,在实时的运动目标检测中取得了较好的效果。而对称差分法能够快速对运动物体进行定位,该方法算法简单、计算量小,检测效果好,易于实现实时处理。
1 基于QT的运动目标检测程序开发
本文开发的程序主要由视频采集、图像数据处理和图形界面管理三部分组成。视频采集部分实现的是视频采集功能;数据处理部分实现了基于背景差分算法和对称差分算法的运动目标检测;图形界面管理部分负责处理操作、显示图像、管理视频采集、保存及处理。……
