BackgroundSubtractor類
背景/前景分割的基類
該類僅用于定義整個(gè)背景/前景分割算法族的公共接口
operator()
計(jì)算前景掩碼
void BackgroundSubtractor::operator()(InputArray image, OutputArray fgmask, double learningRate=0) //image – 下一視頻幀傅是。 fgmask – 輸出前景掩碼為8位二進(jìn)制映像咐吼。
getBackgroundImage
計(jì)算背景圖像
void BackgroundSubtractor::getBackgroundImage(OutputArray backgroundImage) const //backgroundImage – 輸出的背景圖像
BackgroundSubtractorMOG
繼承自BackgroundSubtractor,基于高斯混合的背景/前景分割算法
構(gòu)造函數(shù)
BackgroundSubtractorMOG::BackgroundSubtractorMOG()
BackgroundSubtractorMOG::BackgroundSubtractorMOG(int history, int nmixtures, double backgroundRatio, double noiseSigma=0)
history
歷史幀的數(shù)目; nmixtures - 混合高斯數(shù)量; backgroundRatio - 背景比例; noiseSigma - 噪聲權(quán)重
BackgroundSubtractorMOG2
繼承自BackgroundSubtractor,基于高斯混合的背景/前景分割算法2
構(gòu)建類的實(shí)例后刃滓,可以設(shè)置類的重要成員:
- int nmixtures - 混合組件最大允許數(shù)酌媒。實(shí)際數(shù)量是根據(jù)每個(gè)像素動(dòng)態(tài)確定的欠痴。
- float backgroundRatio - 閾值定義組件是否足夠顯著以包括到背景模型中。 cf = 0.1 => TB = 0.9是默認(rèn)值秒咨。對(duì)于α= 0.001喇辽,這意味著在被認(rèn)為是前景之前,該模式應(yīng)存在大約105幀雨席。
- float varThresholdGen - 幫助決定樣品何時(shí)接近現(xiàn)有組分(對(duì)應(yīng)于Tg)的馬氏距離平方的閾值菩咨。如果它不靠近任何組件,則會(huì)生成一個(gè)新組件。默認(rèn)為3 sigma => Tg = 3 * 3 = 9抽米。較小的Tg值產(chǎn)生更多的組分特占。較高的Tg值可能導(dǎo)致少量的組分,但它們可能生長(zhǎng)得太大缨硝。
- float fVarInit - 新生成的組件的初始方差摩钙。它影響適應(yīng)的速度。參數(shù)值基于您對(duì)圖像的典型標(biāo)準(zhǔn)偏差的估計(jì)查辩。 OpenCV使用15作為合理的值胖笛。
- float fVarMin - 用于進(jìn)一步控制方差的參數(shù)。
- float fVarMax - 用于進(jìn)一步控制方差的參數(shù)宜岛。
- float fCT - 復(fù)雜性降低參數(shù)长踊。此參數(shù)定義接受證明組件存在所需的樣本數(shù)。 CT = 0.05是所有樣本的默認(rèn)值萍倡。通過(guò)設(shè)置CT = 0身弊,您得到的算法非常類似于標(biāo)準(zhǔn)的Stauffer&Grimson算法。
- uchar nShadowDetection - 用于在輸出前景蒙版中標(biāo)記陰影像素的值列敲。默認(rèn)值為127阱佛。
- float fTau - 陰影閾值。如果像素是背景的較暗版本戴而,則檢測(cè)到陰影凑术。 Tau是一個(gè)閾值,定義陰影可以有多深所意。 Tau = 0.5意味著如果一個(gè)像素多于兩倍暗淮逊,那么它不是陰影。
構(gòu)造函數(shù)
BackgroundSubtractorMOG2::BackgroundSubtractorMOG2()
BackgroundSubtractorMOG2::BackgroundSubtractorMOG2(int history, float varThreshold, bool bShadowDetection=1)
history – 歷史幀的數(shù)目扶踊。 varThreshold – 馬氏平方距離上使用的來(lái)判斷是否為背景的閾值泄鹏。bShadowDetection – 是否使用陰影檢測(cè)。
getBackgroundImage
返回背景圖像
void BackgroundSubtractorMOG2::getBackgroundImage(OutputArray backgroundImage)