本文主要內容是乙個混合高斯背景建模[1]的opencv例子。
想要了解mog原理可以參考混合高斯背景建模原理及實現
opencv的mog例子**如下:
#include "stdafx.h"
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace cv;
using
namespace
std;
bool pause = false;//是否暫停
int framenum = 0;
int main()
return
0;}
建構函式可以使用預設建構函式或帶形參的建構函式,呼叫的介面只有過載操作符():
//! the default constructor
cv_wrap backgroundsubtractormog();
//! the full constructor that takes the length of the history, the number of gaussian mixtures, the background ratio parameter and the noise strength
cv_wrap backgroundsubtractormog(int history, int nmixtures, double backgroundratio, double noisesigma=0);
//! the destructor
virtual ~backgroundsubtractormog();
//! the update operator
virtual
void
operator()(inputarray image, outputarray fgmask, double learningrate=0);
函式呼叫所涉及到的引數得根據實際應用場景進行調整,下面幾張圖只是簡單的前景檢測結果:
混合高斯背景建模(opecv)
混合高斯背景建模是基於畫素樣本統計資訊的背景表示方法,利用畫素在較長時間內大量樣本值的概率密度等統計資訊 如模式數量 每個模式的均值和標準差 表示背景,然後使用統計差分 如3 原則 進行目標畫素判斷,可以對複雜動態背景進行建模,計算量較大。在混合高斯背景模型 高斯分布 來描述每個畫素點的顏色呈現規律...
高斯混合背景建模的改進方案
高斯混合背景建模原理 1 stauffer提出自適應混合高斯背景建模,通過融入幀間差分把每幀中的影象區分為背景區域 背景顯露區域和運動物體區域。相對於背景區域,背景顯露區中的畫素點將以大的更新率更新背景模型,使得長時間停滯物體由背景變成運動前景時,被遮擋的背景顯露區被快速恢復。劉鑫,劉輝,強振平,等...
matlab 混合高斯背景建模的實現
clc clear 混合高斯背景建模 引數 gauss n 3 每個畫素點高斯背景模型數量 a 0.005 學習速率 alpha vt 2.5 2 方差閾值 2.5 2.5倍的方差varthreshold bgr 0.7 背景比率 backgroundratio w0 0.05 初始權值 weigh...