介紹
背景減除,官網是這樣介紹的。
背景減法(BS)是通過使用靜態相機來生成前景蒙版(即,包含屬于場景中的運動對象的像素的二進制圖像)的通用且廣泛使用的技術。
顧名思義,BS計算前景蒙版,在當前幀和背景模型之間執行減法運算,其中包含場景的靜態部分,或者更一般而言,考慮到所觀察場景的特征,可以視為背景的所有內容。
其實不難理解,我們建立了背景模型,那么前景就很容易分離出來了。當然,這個方法使用場景一般上是靜態的背景場景。
后臺建模包括兩個主要步驟,后臺初始化和后臺更新,背景減除在OpenCV中的是cv::BackgroundSubtractor類,下面是例子:
官方例子
#include
#include
#include
#include
#include
#include
#include
using namespace cv;
using namespace std;
const char* params
= "{ help h | | Print usage }"
"{ input | vtest.avi | Path to a video or a sequence of image }"
"{ algo | MOG2 | Background subtraction method (KNN, MOG2) }";
int main(int argc, char* argv[])
{
CommandLineParser parser(argc, argv, params);
parser.about( "This program shows how to use background subtraction methods provided by "
" OpenCV. You can process both videos and images.\\n" );
if (parser.has("help"))
{
//print help information
parser.printMessage();
}
//create Background Subtractor objects
Ptr
截圖:

簡單分析
PtrpBackSub,創建背景減除的對象,然后createBackgroundSubtractorMOG2()或createBackgroundSubtractorKNN()用來選擇更新背景的算法,MOG2或者KNN。然后pBackSub->apply(frame, fgMask);用來更新背景模型。
總的來說用起來是比較煎簡單的。其實背景減除最簡單的實現,可以直接用當前幀減去前一幀的圖像作為背景,這個辦法最簡單粗暴。優化的話,我們就得對所有的幀差進行建模,用來得到最優的背景模型。
審核編輯:劉清
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
OpenCV
+關注
關注
33文章
652瀏覽量
44799 -
MOGPON
+關注
關注
0文章
2瀏覽量
5853 -
printf函數
+關注
關注
0文章
31瀏覽量
6290
發布評論請先 登錄
相關推薦
熱點推薦
Vivado設計流程分析 Vivado HLS實現OpenCV的開發流程
作者:Harvest Guo來源:Xilinx DSP Specilist 本文通過對OpenCV中圖像類型和函數處理方法的介紹,通過設計實例描述在vivadoHLS中調用OpenCV
發表于 04-23 11:32
?6393次閱讀
Vivado HLS實現OpenCV圖像處理的設計流程與分析
本文通過對OpenCV中圖像類型和函數處理方法的介紹,通過設計實例描述在vivadoHLS中調用OpenCV庫函數實現圖像處理的幾個基本步驟
發表于 07-08 08:30
LabVIEW+Python+openCV
的,動態鏈接庫也需要配置,還需要知道各個參數含義和類型,這里提供另外一種方法,那就是Python的openCV工具包,絕對開源和免費,LabVIEW可以利用Python節點調用Python的openCV工具包同樣實現視覺任務和復
發表于 12-07 20:59
OpenCV中的BGR格式,在libyuv中對應的那個格式?OpenCV中的RGB格式呢?
OpenCV中的BGR格式,在libyuv中對應的那個格式?OpenCV中的RGB格式呢?
發表于 09-19 06:00
一種基于背景減除與三幀差分的運動目標檢測算法
本文提出一種基于背景減除法和三幀差分法來進行運動目標檢測的算法。首先運用Surendra 背景更新算法建立運動區域的背景模型,通過背景
發表于 06-06 16:04
?62次下載
在Vivado中如何實現OpenCV設計
觀看視頻,了解OpenCV庫和其在一些典型應用中的使用,以及Zynq-7000 SoC的優點和如何實現OpenCV設計。同時您還能學習到如何在設計流程中使用HLS和視頻庫文件。本教程將
如何實現復雜背景中的快速人臉識別技術研究
對復雜背景下的人臉圖像,提出一種快速人臉檢測識別方法。包括基于膚色模型和OpenCV的綜合方法進行人臉檢測定位,并對圖像重新保存、預處理,用以克服光照因素的干擾,剔除復雜背景對人臉識別不利因素
發表于 12-06 15:36
?15次下載
復雜背景下缺陷檢測將Halcon實現轉為OpenCV的實例
導讀 本文主要介紹一個復雜背景下缺陷檢測的實例,并將Halcon實現轉為OpenCV。 實例來源 實例來源于51Halcon論壇的討論貼: https://www.51halcon.com
OpenCV中的Python實現
類構成,同時提供了Python、Ruby、MATLAB等語言的接口,實現了圖像處理和計算機視覺方面的很多通用算法。 OpenCV用C++語言編寫,它的主要接口也是C++語言,但是依然保留了大量的C語言
OpenCV Webinar 2丨如何在OpenCV中調用Tengine推理,實現開發效率翻倍
這個月,OPEN AI LAB的合作伙伴OpenCV 20歲了!值此之際,OpenCV中國團隊推出系列OpenCV Webinar,在全球范圍內定期邀請OpenCV專家來作...
發表于 01-26 19:48
?3次下載
如何在OpenCV中實現CUDA加速
OpenCV4.x中關于CUDA加速的內容主要有兩個部分,第一部分是之前OpenCV支持的圖像處理與對象檢測傳統算法的CUDA加速;第二部分是OpenCV4.2版本之后開始支持的針對深
基于OpenVINO+OpenCV的OCR處理流程化實現
預處理主要是基于OpenCV、場景文字檢測與識別基于OpenVINO框架 + PaddleOCR模型完成。直接按圖索驥即可得到最終結果。 OpenCV預處理主要是完成偏斜矯正、背景矯正等操作,然后使用場景文字檢測模型+OCR識別
如何使用樹莓派與OpenCV實現面部和運動追蹤的云臺系統?
大家好,這是一個樹莓派和OpenCV的連載專題。使用樹莓派與OpenCV實現姿態估計和面部特征點追蹤使用樹莓派與OpenCV實現面部和運動追
OpenCV中背景減除的設計實現
評論