# cvmonitor **Repository Path**: tommycloud/cvmonitor ## Basic Information - **Project Name**: cvmonitor - **Description**: 基于开源计算机视觉库BoofCV实现摄像头视频内容的变化检测。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-04-18 - **Last Updated**: 2024-11-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: BoofCV, Java, 视频检测, 计算机视觉 ## README # CVMonitor 基于开源计算机视觉库BoofCV实现摄像头视频内容的变化检测。 **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](https://github.com/bluenviron/mediamtx)是一款开箱即用、零依赖的实时媒体服务器和媒体代理,允许发布、读取、代理、录制和播放视频和音频流。它被认为是一个“媒体路由器”,将媒体流从一端路由到另一端。 #### OpenCV JNI - [OpenCV JNI Linux X86(含FFMepg)类库下载](https://download.csdn.net/download/li277967151/89324112) - [OpenCV JNI Linux ARM(含FFMepg)类库下载](https://download.csdn.net/download/li277967151/89324117) #### 其它 > 预览效果,可直接执行类:com.ty.test.Test > > 输出如下结果表示成功: ```powershell 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 ``` > **要求:对比的两张图片必须为同尺寸的。**