如何使用OpenCV实现运动物体检测
介绍
Adrian Rosebrock 写了一篇博文 , 叫做 " Home surveillance and motion detection with the Raspberry Pi, Python, OpenCV, and Dropbox". 非常有趣的一个项目,用树莓派和网络摄像头实现的。只要镜头前有物体运动,就会从当时拍摄的视频中截取一帧,将该移动物体的照片上传到Dropbox中。
整个设计做起来不是很难,我直接将该设计移植到了pcDuino8 Uno。
准备:
硬件
- OpenCV computer vision kit
软件
- 预安装了OpenCV的Ubuntu 14.04
步骤
1. 下载源代码
基于 Adrian Rosebrock 所分享的源代码,我删除了将图片上传到Dropbox的功能,而是直接将当时拍下来的照片保存到了本地,你可以从本人的Github仓库中找到分享的代码。
$ git clone https://github.com/pcduino/pcduino8-uno-guide
$ cd pcduino8-uno-guide/demo/3.MotionDetection
注意:如果使用了预案装OpenCV的系统镜像,可以在家目录下看到一个demo文件夹,该目录存放了相应的示例代码。
2. 连接USB摄像头
将摄像头插入pcDuino8 Uno,上电启动。进入系统后,打开Linux终端:
$ ls /dev/video0
确保系统识别到了摄像头。
3. 测试
$ python motion-detector.py -c conf.json
如果使用了不同型号的网络摄像头,或者修改保存一张图片的间隔时间,等等,你需要根据实际情况修改conf.json中的参数。