andrewssobral/bgslibrary

A C++ Background Subtraction Library with wrappers for Python, MATLAB, Java and GUI on QT

What it solves

BGSLibrary 提供一个统一的背景减除框架,帮助用户轻松将视频流中的移动前景对象从静态或变化的背景中分离出来。它通过提供完整的预实现技术集合,免去从头实现多种背景减除算法的需求。

How it works

该框架以 C++ 编写,利用 OpenCV 库实现了超过 40 种背景减除算法。它使用工厂模式让开发者能够实例化并应用不同的算法到视频帧,以生成前景掩码和背景模型。库跨平台,并提供 Python、Java 和 MATLAB 的封装,使这些工具可在不同编程环境中使用。

Who it’s for

此库面向计算机视觉领域的研究人员和开发者,尤其是关注视频监控、运动检测和前景‑背景分割的用户。

Highlights

  • Extensive Algorithm Library: 包含超过 40 种不同的背景减除算法,如 ViBe、KNN 和高斯混合模型。
  • Multi-Language Support: 提供 Python(pybgs)、Java 与 MATLAB 的封装。
  • Harnesses OpenCV: 完全兼容 OpenCV 2.4.x、3.x 与 4.x 版本。
  • Flexible Build System: 支持通过 CMake 或 Pixi 构建,以简化依赖管理。