OpenCV混合高斯模型前景分離

2021-09-08 08:53:58 字數 1893 閱讀 6424

目前,運動物體檢測的問題主要分為兩類,攝像機固定和攝像機運動。對於攝像機運動的運動物體檢測問題,比較著名的解決方案是光流法,通過求解偏微分方程求的影象序列的光流場,從而**攝像機的運動狀態。對於攝像機固定的情形,當然也可以用光流法,但是由於光流法的複雜性,往往難以實時的計算,所以我採用

高斯背景模型。因為,在攝像機固定的情況下,背景的變化是緩慢的,而且大都是光照,風等等的影響,通過對背景建模,對一幅給定影象分離前景和背景,一般來說,前景就是運動物體,從而達到運動物體檢測的目的

單分布高斯背景模型

單分布高斯背景模型認為,對乙個背景影象,特定畫素亮度的分布滿足高斯分布,即對背景影象b,(x,y)點的亮度滿足:

ib(x,y) ~ n(u,d)

這樣我們的背景模型的每個象素屬性包括兩個引數:平均值u 和 方差d。

對於一幅給定的影象g,如果 exp(-(ig(x,y)-u(x,y))^2/(2*d^2)) > t,認為(x,y)是背景點,反之是前景點。

同時,隨著時間的變化,背景影象也會發生緩慢的變化,這時我們要不斷更新每個象素點的引數

u(t+1,x,y) = a*u(t,x,y) + (1-a)*i(x,y)

這裡,a稱為更新引數,表示背景變化的速度,一般情況下,我們不更新d(實驗中發現更不更新d,效果變化不大)。

高斯混合模型是用於背景提取的方法,opencv的cvaux中cvbgfg_gaussmix.cpp檔案根據文獻an improved adaptive background mixture model for real-time tracking with shadow中提供的方法編寫了高斯混合模型函式。其中定義了cvgaussbgmodel類用於存放高斯混合模型的各個引數。我用opencv使用高斯混合模型函式分以下幾步:

1。在程式初始化部分定義高斯混合模型引數cvgaussbgmodel* bg_model=null;在讀取第一幀影象(背景影象)時,進行高斯背景建模bg_model = (cvgaussbgmodel*)cvcreategaussianbgmodel(image, 0);image可以是灰度圖象也可以是彩色影象。接下來再讀取當前幀時,更新高斯模型

regioncount=icvupdategaussianbgmodel(currframe, bg_model );regioncount的含義我不確定,我理解是代表背景中不同顏色區域的個數,這個引數我沒有用到,它只是icvupdategaussianbgmodel函式的返回值。

2。現在bg_model已經儲存了經過高斯混合模型分類後的結果,bg_model->background儲存了背景影象,bg_model->foreground儲存了前景影象。

#include #include #include #include #include //必須引此標頭檔案

int main( int argc, char** ar** )

//初始化高斯混合模型引數

cvgaussbgmodel* bg_model=null;

while(pframe = cvqueryframe( pcapture ))

else

}//釋放高斯模型引數占用記憶體

cvreleasebgstatmodel((cvbgstatmodel**)&bg_model);

cvdestroywindow("video");

cvdestroywindow("background");

cvdestroywindow("foreground");

cvreleaseimage(&pfrimg);

cvreleaseimage(&pbkimg);

cvreleasecapture(&pcapture);

return 0;

}

高斯混合模型 前景分割演算法

環境 ubuntu16.04 opencv3.0 python2.7,環境配置可參考www.pyimagesearch.com 前言 背景減法是許多基於視覺的應用程式中的主要預處理步驟。opencv已經實現了三個非常容易使用的演算法。效果圖展示 實現僅僅匯入opencv的預設演算法 coding u...

高斯混合模型

本文就高斯混合模型 gmm,gaussian mixture model 引數如何確立這個問題,詳細講解期望最大化 em,expectation maximization 演算法的實施過程。多維變數x服從高斯分布時,它的概率密度函式pdf為 x是維度為d的列向量,u是模型期望,是模型方差。在實際應用...

高斯混合模型

高斯混合模型 本文就高斯混合模型 gmm,gaussian mixture model 引數如何確立這個問題,詳細講解期望最大化 em,expectation maximization 演算法的實施過程。多維變數x服從高斯分布時,它的概率密度函式pdf為 x是維度為d的列向量,u是模型期望,是模型方...