一、移动监控的原理

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

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

  选择开源的移动监控软件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. java 基本语法(五) 流程控制(二) 循环结构

    1.循环结构的四要素① 初始化条件② 循环条件 --->是boolean类型③ 循环体④ 迭代条件说明:通常情况下,循环结束都是因为②中循环条件返回false了. 2.三种循环结构:2.1 fo ...

  2. How to use the function of bind

    The usage of  bind  is to define a specified scope for called function. Because the key this is easy ...

  3. 基于three.js的全景

    直接上代码: <!DOCTYPE html><html> <head> <title>three.js css3d - panorama</tit ...

  4. android 调试的一些问题解决1

    1.系统自带的机器跑起来太卡,我想用雷电模拟器来运行.可是打开后找不到设备怎么弄? 解决办法: 步骤1:>>>运行模拟器 步骤2:>>>win + r 打开cmd ...

  5. 软件测试工程师入门——Linux【使用说明书】

    先来说一下linux是什么? linux 是一个开源.免费的操作系统,其稳定性.安全性.处理多并发已经得到业界的认可,目前很多中性,大型甚至是巨型项目都在使用linux. linux 内核:redha ...

  6. P4554 小明的游戏 (洛谷) 双端队列BFS

    最近没有更新博客,全是因为英语,英语太难了QWQ 洛谷春令营的作业我也不会(我是弱鸡),随机跳了2个题,难度不高,还是讲讲吧,学学新算法也好(可以拿来水博客) 第一题就是这个小明的游戏 小明最近喜欢玩 ...

  7. 集训作业 洛谷P1010 幂次方

    这个…… 这个题看上去有点难的样子. 仔细看看,感觉有点简单.啊,是递归啊,正经的看一看,好像是把一个数分成2的几次方的和. 然后余数和比他小的最大的2的次方数如果不是2的一次方或者2的0次方,就继续 ...

  8. 「从零单排canal 05」 server模块源码解析

    基于1.1.5-alpha版本,具体源码笔记可以参考我的github:https://github.com/saigu/JavaKnowledgeGraph/tree/master/code_read ...

  9. 【线性表基础】基于线性表的简单算法【Java版】

    本文描述了基于线性表的简单算法及其代码[Java实现] 1-1 删除单链表中所有重复元素 // Example 1-1 删除单链表中所有重复元素 private static void removeR ...

  10. ES的集群原理

    文章转载自:https://www.cnblogs.com/soft2018/p/10213266.html 一.ES集群原理 查看集群健康状况:URL+ /GET _cat/health (1).E ...