opencv學習筆記(3)背景分離 平均背景法

2021-06-27 13:33:44 字數 781 閱讀 1732

為達到前景目標的識別,譬如,交通路口對車輛的識別、監控器對行人的識別,常用的且較為有效的方法就是背景差分法(還有其他的方法,比如光流場法,幀差法),即用一張有要識別目標的影象減去相應的背景影象,那麼所得的結果便是我們所要的目標。

然而,如何獲取乙個「美好」的背景圖,是背景差分法的關鍵和難點。

此處介紹一種最為簡單的獲取背景的方法——平均背景法。

顧名思義,其基本思想就是,將所採集到的背景疊加求和,而後求取平均值作為要求的背景。其大致演算法流程如下:

1.將採集到的部分,利用opencv的cvacc函式累加求和,並統計累加次數,累加完成後在用cvconvertscale函式求取平均值,記為a。(注意理解該平均值的意思是在(x,y)位置處,所有參與求和計算的影象在該點出的畫素平均值,每一點的畫素平均值是不同的)

2.前一幀影象和當前參與累加的影象求差的絕對值,利用cvabsdiff函式,而後該絕對值影象也進行累加求平均值,記為d。(同理這是某點的差值平均值)它描述的是某點畫素值得波動幅度。

3.那麼有1和2便可以認為,影象某點的畫素值p若滿足a-d < p < a+d,則認為此點屬於背景,然而由於前景目標的加入,可能對背景點的亮度有一定的影響,故對波動幅度d進行一定的放縮,若 a -kd < p < a + kd,便認為該點為背景點。自然在該範圍外的點,便是我們需要的前景點。那麼用cvthreshold函式完成二值化。我們的目的就達到了。

此為背景建模最簡單的方法,在室內等干擾較少的環境下使用時,效果較好,一旦有些許干擾則效果嚴重下降。一種非常有效,不管是執行速度還是處理效果都非常好的演算法是codebook演算法,下篇部落格中將會介紹。

CSS3學習筆記 背景

背景 background color backgound image backgound position backgound 背景是固定的 背景是固定的 背景是固定的 背景是固定的 背景是固定的 背景是固定的 背景是固定的 背景是固定的 背景是固定的 背景是固定的 背景是固定的 1 backgo...

Opencv3入門學習筆記

最近在學習opencv3,屬於零基礎小白,此篇記錄一些在書中見到的函式,用於後來學習 一 影象的載入與顯示 c mat imread const string filename,intflags 1 flags 0返回乙個3通道的彩色影象 flags 0返回灰度影象。flags 0返回包含alpha...

opencv學習筆記

總的來說,我們學習影象處理的就是從vs和opencv開始的。而在之前的學習中,我們使用了前人的通過或攝像頭的人臉識別 並順利執行了程式。順理成章地,接下來的階段就是將這些 給 吃透 理解並吸收,掌握其中的知識。下面就是今天對於 中幾個重要組成部分的學習心得總結。一 命名空間 using namesp...