跨平台实时测速摄像机原型项目speed-camera:用 Python 与 OpenCV 搭建嵌入式交通监控系统

项目简介
speed-camera 是一个跨平台的实时目标速度摄像系统,支持 Unix、Windows 以及 Raspberry Pi 等操作系统。该项目主要使用 Python3 与 OpenCV 开发,能够通过视频流捕获环境中最大的移动目标,并计算其速度。无论你是希望通过 RPI 摄像头模块、USB 摄像头,还是 IP/RTSP 摄像头来监控交通,它都能为你提供高效、便捷的解决方案。此外,该项目还整合了独立的 Web 服务器、模板匹配图像搜索、whiptail 管理菜单以及多项插件支持,助力构建完整的远程监控与管理体系。

功能特色
speed-camera 的一大特色在于其功能完备而灵活。系统利用 OpenCV 对摄像头捕获的图像进行实时运动检测与跟踪,通过计算物体在图像中移动的距离(以像素和实际单位衡量)来估算速度。同时,项目支持以下功能:

  • • 实时目标跟踪:定制化的检测区域参数(MO_CROP_Y_UPPER、MO_CROP_Y_LOWER、MO_CROP_X_LEFT、MO_CROP_X_RIGHT)允许用户限定监控区域,确保精准捕捉重要目标。

  • • 数据记录与查询:启用 LOG_DATA_TO_CSV 后,系统会自动生成 CSV 文件记录事件,最新版甚至内置 SQLite3 数据库保存成绩数据,方便后续调取报表。

  • • 图表与报表生成:内置脚本可通过 matplotlib 绘制计数及平均速度图表,生成直观的趋势数据报告;同时,还支持生成 HTML 报告,直观展示历史数据与图像。

  • • 远程管理:借助 whiptail 管理菜单,用户可以在服务器或控制台上方便地调整配置,重启应用,进行插件管理与升级等操作。

系统支持与安装
此项目不仅适用于 Raspberry Pi 系统,同样支持 Unix 和 Windows 平台。对于 Raspberry Pi 用户,可利用 speed-install.sh 快速安装升级:

  1. 1. 通过 SSH 终端或 putty,复制以下命令并运行:

    curl -L https://raw.github.com/pageauc/speed-camera/master/speed-install.sh | bash
  2. 2. 安装结束后,依据提示进行配置与校准(初始状态下 CALIBRATE_ON 设置为 True,需要调整对应的参数以获得准确的校正数据)。

高级功能与扩展
speed-camera 不仅仅是个速度监控系统,更具备丰富的扩展性:

  • • Web 服务器:独立的 speed-web.py 可将实时监控画面、报表及图表通过网页展示,方便远程监控。

  • • 远程同步:结合 rclone 脚本,支持将监控图片以及数据自动同步到 Google Drive、Dropbox 等云存储平台。

  • • 镜头监控:内置的 alpr-speed.py 支持车牌识别功能,可处理前后视角的车辆照片,结合 OPENALPR 实现精确识别输出。

  • • Docker 部署:适用于 Mac 与 Windows 系统的用户,项目支持 Docker 部署,通过 docker-compose 快速构建独立容器环境,确保跨平台运行一致性。

总结
总体而言,speed-camera 是一款集实时目标检测、运动追踪、数据记录、报表生成与远程管理于一体的跨平台速度摄像系统。无论你是在交通监控、停车场管理、还是其他需要监测物体运动的领域,它都能为你提供精准、高效的技术支持。借助其开源特性与灵活的配置机制,开发者不仅可以快速部署使用,还能根据需求对系统进行二次开发与功能扩展,让监控变得更加智能化与人性化。

项目地址:https://github.com/pageauc/speed-camera

发表评论