一、移动监控的原理

  通过获取摄像头图像,比较前后每一帧的图像数据,从而实现移动物体监控。所有移动监控原理都是这样,只是图像帧的对比的算法不一样。

二、移动物体监控系统的实现

  选择开源的移动监控软件motion,移植到开发板上

  step1:解压源码,进入到目录里面运行 ./configure  --prefix=${PWD}/_install /  --host=arm-linux

    [notes]:编译时error:Mysql support can`t build without Mysql libraries

          在 ./configure  --prefix=${PWD}/_install /  --host=arm-linux --without -mysql

       再次编译出现新的error:postgreSQL support can`t build without postgreSQL libraries

          在./configure  --prefix=${PWD}/_install /  --host=arm-linux --without -mysql --without -pgsql

  step2:make \make install,将生成库和头文件安装到指定的./install目录下,在/_install/bin/目录下生成的可执行文件motion

  step3:将可执行文件拷贝到根文件系统/rootfs/sbin/目录下,将配置文件motion_dist_conf(/_install/etc/)复制到根文件目录/rootfs/中  

  step4:移植配置motion的参数  打开根文件系统中的motion_dist_conf,修改内容如下

      a.更改驱动设备文件 /dev/vedio0

      b.改变图下个存储格式为 MJPEG

      c.图像大小 640*480

      d.framerate 15   每秒最大捕获帧树

      e.threshold 1500  当检测到像素变化超过该值时触发motion

      f.locate on 使用方框框出移动的物体

      g.target_dir  /mnt/sd  设置图片保存目录

  step5:运行motion motion -c/motion-dist.conf即可捕获到物体

  step6:关联报警功能:在motion_dist_conf配置文件中,配置项on_motion_detected后面加上"madplay alarm.mp3",发现移动物体即触发调用程序madplay alarm.mp3,实现报警功能。

  step7:视频捕捉(ffmpeg开源库),使其支持ffmpeg抓取视频的功能

      a.解压配置./configure  --prefix=./_install / --arch=arm --cross -prefix=arm-linux- --enable-shared (不支持--host)

      b.make \make install,将生成库和头文件安装到指定的./install目录下,在/_install/lib/目录下生成的库文件

      c.将库文件拷贝到根文件系统/rootfs/lib/目录下

      d.重新配置motion (make distclean清除配置), ./configure  --prefix=${PWD}/_install /  --host=arm-linux --with-ffmpeg=/当前目录/  --without -mysql --without -pgsql

      e.重新编译运行motion -c/motion-dist.conf,即可、

流程:移植motion->配置motion_dist_conf选项-->关联报警功能-->移植视频捕捉包ffmpeg

移动物体监控系统-sprint3移动监控主系统设计与开发的更多相关文章

  1. 阶段2-新手上路\项目-移动物体监控系统\Sprint3-移动监控主系统设计与开发

    移动图像监控系统 去找一些相关开源程序进行移植:百度搜索-linux 移动监控 motion是一套免费开源的移动图像监测程序 前面我们已经使用了很多开源软件,他们的使用方法都是大同小异的 1).先在当 ...

  2. 分布式监控系统Zabbix3.2监控数据库的连接数

    在 分布式监控系统Zabbix3.2跳坑指南 和 分布式监控系统Zabbix3.2给异常添加邮件报警 已经介绍了如何安装以及报警.此篇通过介绍监控数据库的3306端口连接数来了解如何监控其它端口和配置 ...

  3. 基于视频压缩的实时监控系统-sprint3采集端传输子系统设计

    由于jpg本来就是编码压缩后的格式,所有无需重复编码 传输子系统步骤:(1)初始化:a.socket(初始化tcp连接):b.将事件添加到epoll中 (2)事件处理:接收到网络包.发送完网络包 st ...

  4. 初试 Prometheus + Grafana 监控系统搭建并监控 Mysql

    转载自:https://cloud.tencent.com/developer/article/1433280 文章目录1.Prometheus & Grafana 介绍1.1.Prometh ...

  5. 实战 Prometheus 搭建监控系统

    实战 Prometheus 搭建监控系统 Prometheus 是一款基于时序数据库的开源监控告警系统,说起 Prometheus 则不得不提 SoundCloud,这是一个在线音乐分享的平台,类似于 ...

  6. CentOS 7.4 下安装部署Nagios监控系统详细攻略(三)

    Nagios是一个流行的电脑系统和网络监控程序,它检测主机和服务,当异常发生和解除时能提醒用户.它是基于GPLv2开发的开源软件,可免费获得及使用. nagios工作原理 nagios的功能是监控服务 ...

  7. 分布式监控系统之Zabbix基础

    1.为什么要使用监控系统? 我们知道一个系统不管怎么讲它都会出故障,我们为了保证线上业务的最大化的可用性,通常我们要给关键业务做高可用:做高可用的目的是为了让故障发生时,能够有一个备用的解决方案,将故 ...

  8. day26 分布式监控系统开发

    本节内容 为什么要做监控? 常用监控系统设计讨论 监控系统架构设计 监控表结构设计 为什么要做监控? –熟悉IT监控系统的设计原理 –开发一个简版的类Zabbix监控系统 –掌握自动化开发项目的程序设 ...

  9. 集群监控系统Ganglia应用案例

    集群监控系统Ganglia应用案例 --我们把集群系统投入生产环境后,这时就需要一套可视化的工具来监视集群系统,这将有助于我们迅速地了解机群的整体配置情况,准确地把握机群各个监控节点的信息,全面地察看 ...

随机推荐

  1. 如何在Linux环境下用虚拟机跑Windows!

    文章目录 #0x0 Windows #0x1 安装虚拟机 #0x10 下载: #0x11 安装: #0x2 安装虚拟机windows #0x20 下载镜像 #0x21 安装镜像 #0x3 使用Wind ...

  2. python 面试题一:Python语言特性

    1 Python的函数参数传递 两个例子 a = 1 def fun(a): a = 2 fun(a) print a # a = [] def fun(a): a.append(1) fun(a) ...

  3. python 面向对象专题(二):类的空间问题、类与对象之间的关系、类与类之间的关系

    https://www.cnblogs.com/liubing8/p/11308127.html 目录 Python面向对象02/类的空间问题.类与对象之间的关系.类与类之间的关系 1. 类的空间问题 ...

  4. tensorflow实现lstm中遇到的函数记录

    函数一:initializer=tf.random_uniform_initializer(-0.1, 0.1, seed=123) tf.random_uniform_initializer 参数: ...

  5. java的干儿子锁Lock

    目录 Lock的由来 线程之间的交互 Lock方法简介 lock() lockInterruptibly() trylock() trylock(long,TimeUnit) unlock() new ...

  6. sql与SQL CODE和SQL State相关报错

    操作数据库过程中,遇到许多问题,很多都与SQL CODE和SQL State相关,现在把一个完整的SQLCODE和SQLState错误信息和相关解释作以下说明,一来可以自己参考,对DB2错误自行找出原 ...

  7. 洛谷 P5022 旅行

    今天换标题格式了,因为感觉原版实在有点别扭…… 还是直接上题板,看完题再讲吧: 对了有个小细节没说,m一定是等于n或者等于n-1的. 这题是2018年提高组的真题哦!被我肝了2天肝出来了,2天……(真 ...

  8. IDEA 格式化代码快捷键

    一般都是:Ctrl+Alt+L 如果未格式化的话,可能与以下软件的快捷键冲突了: QQ 网易云 也可能是其他的快捷键组合,具体可查看工具栏Code->Reformat Code: 也可重新设置i ...

  9. [jvm] -- 垃圾收集器篇

    垃圾收集器 Serial 收集器 单线程收集器,不仅仅意味着它只会使用一条垃圾收集线程去完成垃圾收集工作,更重要的是它在进行垃圾收集工作的时候必须暂停其他所有的工作线程( "Stop The ...

  10. 一起学Blazor WebAssembly 开发(1)

    最近blazor的WebAssembly 正式版出来了,正好手头有一个项目采用的前后端分离模式做的,后端用的abp vnext(.net core 的一个很著名的框架)框架开发的,其实前端之前考虑的使 ...