Skip to content

TommysLee/CVMonitor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CVMonitor

基于BoofCV实现视频内容的变化检测

Build Passing TyFast-3.x Apache License

BoofCV 是一个纯 Java 的全新实时计算机视觉库,其易于使用且具有非常高的性能。功能涵盖一系列Subjects、low-level图像处理、相机校准、特征检测/跟踪、运动结构、基准检测和识别。

https://boofcv.org/

说明

  • 通过 FFmpeg Pull 海康摄像头RTSP主码流,每秒取一帧图片落盘;
  • 基于BoofCV对帧图片识别,判断图片内容是否发生变化;
  • 发生变化的帧图片,经过Base64编码后,通过 REST API 发送给 AI 服务,做进一步处理(如:人员入侵检测、人脸检测与识别等)。

算法

  • 将图片转换为灰度图;

  • 基于像素级图片对比,采用MSE与NMSE来评价视频画面是否发生变化;

  • NMSE采用的算法公式: $$ NMSE = \frac{MSE}{Var(ytrue)} $$

名词解释

  • MSE:即均方误差
  • NMSE:即MSE归一化
  • Var(ytrue):真实值方差

MediaMTX

MediaMTX是一款开箱即用、零依赖的实时媒体服务器和媒体代理,允许发布、读取、代理、录制和播放视频和音频流。它被认为是一个“媒体路由器”,将媒体流从一端路由到另一端。

OpenCV JNI

其它

预览效果,可直接执行类:com.ty.test.Test

输出如下结果表示成功:

ROOT Path: /opt/workspaces/CVMonitor/target/test-classes/
均方误差MSE = 15.620534336419754
	真实值均值: 97.89999
真实值方差:3875.7314
NMSE = 0.004030344866982978

图片相似度:99.6%

Process finished with exit code 0

要求:对比的两张图片必须为同尺寸的。

About

基于开源计算机视觉库BoofCV实现摄像头视频内容的变化检测。

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors