使用连通分量进行前景清理
在对平均法和码书法的对比之前,先讨论如何使用连通分量分析来对原始分割后的图片进行清理,这种方法适合有噪声的掩膜图片
··使用形态学开运算来将小的噪音区域收缩至0,接下来使用形态学闭运算重建开运算中丢失区域
··接下来在结果中寻找”足够大“的轮廓并计算区域的一些统计量
··最后选取最大的轮廓或是所有在某个阙值之上的轮廓作为结果
帧间差分缺点:不能区分哪里的的物体被移走了,以及哪里是物体的新位置,而且在两个区域重叠的位置经常由一个缝隙
opencv中的背景提取方法的封装
opencv提供了一种通用的,基于类的接口来进行背景提取
cv::BackgroundSubstractor基类
构造函数后定义了两个函数,第一个是函数算子用阿里处理新图像并针对该图像计算前景掩膜,第二个函数对背景模型生成一个图片描述为了可视化和调试
没有通过累加背景图片进行训练的函数,因为在很多实际场景中不能找到一段较长的没有前景物体的时间段来训练算法。几乎所有的现代背景提取算法不再区分训练模式和运行模式,而会连续地训练并构造背景模型
KB方法
KB方法带给我们一些处理真实世界中很有挑战的背景建模问题的新能力:一个多模态模型,连续在线训练,两个用来提高初始化性能的训练模式和显示的阴影检测和去除
cv::BackgroundSubstractorMOG 构造函数
Zivkovic 方法
它和KB方法一样使用高斯混合模型对某特定像素的颜色建模。但是Zivkovic 没有使用固定数量的高斯分量,而是选择一个能够给观测到数据最好解释的动态变化的分量数量
cv::BackgroundSubstractorMOG2 构造函数
方法拓展
MOG:基于混合高斯进行背景建模 MOG2:基于混合高斯进行背景建模,MOG的升级版本 GMG:基于像素颜色进行背景建模,其主要依赖的是像素点的素值 CNT:基于像素点计数进行背景建模,其主要依赖的是像素点相同数值的计数值 KNN:基于K最近邻进行背景建模,根据附近颜色的相似度来进行的背景提取