BoofCV 是一个纯 Java 的全新实时计算机视觉库,其易于使用且具有非常高的性能。功能涵盖一系列Subjects、low-level图像处理、相机校准、特征检测/跟踪、运动结构、基准检测和识别。
- 通过 FFmpeg Pull 海康摄像头RTSP主码流,每秒取一帧图片落盘;
- 基于BoofCV对帧图片识别,判断图片内容是否发生变化;
- 发生变化的帧图片,经过Base64编码后,通过 REST API 发送给 AI 服务,做进一步处理(如:人员入侵检测、人脸检测与识别等)。
-
将图片转换为灰度图;
-
基于像素级图片对比,采用MSE与NMSE来评价视频画面是否发生变化;
-
NMSE采用的算法公式: $$ NMSE = \frac{MSE}{Var(ytrue)} $$
- MSE:即均方误差
- NMSE:即MSE归一化
- Var(ytrue):真实值方差
MediaMTX是一款开箱即用、零依赖的实时媒体服务器和媒体代理,允许发布、读取、代理、录制和播放视频和音频流。它被认为是一个“媒体路由器”,将媒体流从一端路由到另一端。
预览效果,可直接执行类: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要求:对比的两张图片必须为同尺寸的。