移动图像监控主系统的开发<-(报警子系统+图像采集子系统)
移动图像监控的原理方法:
通过获取摄像头图像,比较前后每一帧的图像数据,从而实现移动物体监控。所有移动监控均是如此,只是图像帧的比较算法不同。
移动图像监控系统的实现
选择开源的移动监控软件motion,移植至开发板上。移植工作大致相同:
1)下载开源包并解压 -> 配置文件.config进行修改编译" .configure -prefix=/${PWD}/_install ~~";
2)编译make -> make instal,此时/_installl/bin目录下配置执行文件motion_dist_conf、可执行文件motion;
3)将配置文件motion_dist_conf复制至根文件目录/rootfs/sbin/下,motion在/rootfs/下;
移植完毕,适实际应用修改motion的配置参数,如:更改驱动设备文件/dev/vedio0、图像格式要求、捕捉图像存储目录、框取探测到的物体等。配置完毕,运行"./motion "即可捕捉到移动图像。
------------------------------------------------------------------------------------------------------------------------------------
移动物体监控系统通过摄像头的驱动设备文件已关联上采集子系统,应再上附加报警及视频捕捉的功能,即可实现移动监控主系统:
报警 :在motion的motion_dist_conf配置文件中,有一个配置项:"on_motion_detected +madplay alarm.mp3",发现移动图像即触发调用程序madplay alarm.mp3,实现报警功能。
视频捕捉:下载ffmpeg开源库,使之支持ffmpeg抓取视频的功能。解压 -> 配置".configure -prefix~ with ffmpeg" -> 重新编译make,make install,运行即可。
完成! motion -c ./motion_dist_conf。
流程:1.移植motion -> 2.配置motion_dist_conf选项 -> 3.加上报警子系统 -> 4.安装视频抓取包ffmpeg。
偶遇问题:
1.无法将抓取图片存储至指定目录下
解决:motion 的配置文件中,不可使用" // "注释,而是用" # "。指定失效
2. motion -c ./motion_dist_conf未产生捕捉图片
原因:先开启开发板,每次重新插拔USB摄像头时,其驱动设备文件经常是变动的,需要通过" ls |grep vedio "查看其指定的驱动文件号,重新运行即可。