一、移动监控的原理

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

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

  选择开源的移动监控软件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. 【DevCloud · 敏捷智库】两种你必须了解的常见敏捷估算方法

    背景 在某开发团队辅导的回顾会议上,团队成员对于优化估计具体方法上达成了一致意见.询问是否有什么具体的估计方法来做估算. 问题分析 回顾意见上大家对本次Sprint的效果做回顾,其中80%的成员对于本 ...

  2. Oracle表的基本查询

    Oracle 分页 1.rownum分页 Select * from emp; Select a1.*,rownum rn from (Select * from emp) a1; 2.显示rownu ...

  3. VSCode, 当今最流行的免费开源代码编辑器,微软出品,必属精品

    什么是VSCode? Visual Studio Code是一个轻量级但功能强大的源代码编辑器,可在您的桌面上运行,并且可用于Windows,macOS和Linux.它内置了对JavaScript,T ...

  4. scrapy 基础组件专题(二):下载中间件

    下载器中间件是介于Scrapy的request/response处理的钩子框架,是用于全局修改Scrapy request和response的一个轻量.底层的系统. 1.激活Downloader Mi ...

  5. linux专题(九):磁盘管理

    http://dwz.date/UDf 概述 Linux磁盘管理好坏直接关系到整个系统的性能问题. Linux磁盘管理常用命令为 df.du. df :列出文件系统的整体磁盘使用量 du:检查磁盘空间 ...

  6. POJ 1063 Flip and Shift 最详细的解题报告

    题目来源:Flip and Shift 题目大意:一个椭圆形的环形容器中有黑色和白色两种盘子,问你是否可以将黑色的盘子连续的放在一起.你可以有以下两种操作: 1.顺时针旋转所有的盘子 2.顺时针旋转3 ...

  7. 没内鬼,来点干货!volatile和synchronized

    题外话 这篇笔记是我<没内鬼>系列第二篇,其实我计划是把设计模式和多线程并发分为两个系列,统一叫<一起学系列>来系统的介绍 相关的知识,但是想到这篇笔记去年就写成了,一直不发心 ...

  8. Python Ethical Hacking - MAC Address & How to Change(2)

    FUNCTIONS Set of instructions to carry out a task. Can take input, and return a result. Make the cod ...

  9. 一口气说出 4 种分布式一致性 Session 实现方式,面试杠杠的~

    前言 公司有一个 Web 管理系统,使用 Tomcat 进行部署.由于是后台管理系统,所有的网页都需要登录授权之后才能进行相应的操作. 起初这个系统的用的人也不多,为了节省资源,这个系统仅仅只是单机部 ...

  10. 【JVM之内存与垃圾回收篇】StringTable

    StringTable String的基本特性 String:字符串,使用一对 "" 引起来表示 String s1 = "Nemo"; // 字面量的定义方式 ...