一种多区域视频监控入侵检测报警方法的研究

4 多区域实时移动侦测
32位Windows操作系统采用抢先式多任务方式运行应用程序。当一个程序运行后,操作系统就启动了一个进程。为了让进程完成一些工作,每个进程必须包含至少一线程。线程负责执行包含在进程地址空间中的代码,每个线程共享所有的进程资源,包括打开的文件、信号标识及动态分配的内存等。
线程是系统分配CPU时间的基本实体,它也是代码执行的最小单位。实际上,同一时间只有一个线程在运行,由于每个线程划分的时间很小(20 ms左右),CPU通过分时在各个线程之间频繁地切换,使得系统看起来有多道程序在同时运行。
Windows提供了2种线程——辅助线程和用户界面线程。两种线程均为MFC库所支持。用户界面线程通常有窗口,因此,它具有自己的消息循环。辅助线程没有窗口,因此,它不需要处理消息。
用户界面线程用于响应用户操作和程序的其他控制,辅助线程用于多个区域视频图像的捕获,并利用移动侦测算法实现实时入侵报警功能。程序流程如图2所示。本文引用地址:https://www.eepw.com.cn/article/166207.htm
5 实验结果
为了验证本文提出的多区域视频监控入侵检测报警方法的性能,实验采用两块SDK-2500型视频监控卡同时对室内、室外两个区域进行长时间的视频监控,监控视频帧率为30帧/秒。为捕获稳定的视频图像,在辅助线程内添加了100 ms的等待时间。随机抽取100次报警结果,其结果如表1所示。
从测试结果可以看出,本文方法室内误报率为1%,室外误报率为2%。根据保存的视频图像分析得知:室内误报警发生于开灯情况下,是因环境亮度急剧变化引起的;室外两次误报警均发生于刮风情况下,由于树枝大幅度摇摆造成的。
6 结束语
本文利用多线程技术实现了视频监控系统中多区域移动侦测入侵报警自动化。该方法利用视频监控卡自带函数库,充分发挥了视频监控卡处理器的性能,获得了较高的监控画质;该方法误报率较低,可广泛适用于各种视频监控系统中。
c++相关文章:c++教程
评论