0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

OpenCV中背景減除的設(shè)計(jì)實(shí)現(xiàn)

冬至子 ? 來(lái)源:技術(shù)鋪?zhàn)?/span> ? 作者:chasenzhang ? 2023-01-18 15:15 ? 次閱讀

介紹

背景減除,官網(wǎng)是這樣介紹的。

背景減法(BS)是通過(guò)使用靜態(tài)相機(jī)來(lái)生成前景蒙版(即,包含屬于場(chǎng)景中的運(yùn)動(dòng)對(duì)象的像素的二進(jìn)制圖像)的通用且廣泛使用的技術(shù)。

顧名思義,BS計(jì)算前景蒙版,在當(dāng)前幀和背景模型之間執(zhí)行減法運(yùn)算,其中包含場(chǎng)景的靜態(tài)部分,或者更一般而言,考慮到所觀察場(chǎng)景的特征,可以視為背景的所有內(nèi)容。

其實(shí)不難理解,我們建立了背景模型,那么前景就很容易分離出來(lái)了。當(dāng)然,這個(gè)方法使用場(chǎng)景一般上是靜態(tài)的背景場(chǎng)景。

后臺(tái)建模包括兩個(gè)主要步驟,后臺(tái)初始化和后臺(tái)更新,背景減除在OpenCV中的是cv::BackgroundSubtractor類(lèi),下面是例子:

官方例子

#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

截圖:

2.jpg

簡(jiǎn)單分析

PtrpBackSub,創(chuàng)建背景減除的對(duì)象,然后createBackgroundSubtractorMOG2()或createBackgroundSubtractorKNN()用來(lái)選擇更新背景的算法,MOG2或者KNN。然后pBackSub->apply(frame, fgMask);用來(lái)更新背景模型。

總的來(lái)說(shuō)用起來(lái)是比較煎簡(jiǎn)單的。其實(shí)背景減除最簡(jiǎn)單的實(shí)現(xiàn),可以直接用當(dāng)前幀減去前一幀的圖像作為背景,這個(gè)辦法最簡(jiǎn)單粗暴。優(yōu)化的話,我們就得對(duì)所有的幀差進(jìn)行建模,用來(lái)得到最優(yōu)的背景模型。

審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • OpenCV
    +關(guān)注

    關(guān)注

    29

    文章

    622

    瀏覽量

    41091
  • MOGPON
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    5713
  • printf函數(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    31

    瀏覽量

    5865
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Vivado設(shè)計(jì)流程分析 Vivado HLS實(shí)現(xiàn)OpenCV的開(kāi)發(fā)流程

    作者:Harvest Guo來(lái)源:Xilinx DSP Specilist 本文通過(guò)對(duì)OpenCV圖像類(lèi)型和函數(shù)處理方法的介紹,通過(guò)設(shè)計(jì)實(shí)例描述在vivadoHLS調(diào)用OpenCV
    發(fā)表于 04-23 11:32 ?5794次閱讀
    Vivado設(shè)計(jì)流程分析 Vivado HLS<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>OpenCV</b>的開(kāi)發(fā)流程

    Vivado HLS實(shí)現(xiàn)OpenCV圖像處理的設(shè)計(jì)流程與分析

    本文通過(guò)對(duì)OpenCV圖像類(lèi)型和函數(shù)處理方法的介紹,通過(guò)設(shè)計(jì)實(shí)例描述在vivadoHLS調(diào)用OpenCV庫(kù)函數(shù)實(shí)現(xiàn)圖像處理的幾個(gè)基本步驟
    發(fā)表于 07-08 08:30

    LabVIEW+Python+openCV

    的,動(dòng)態(tài)鏈接庫(kù)也需要配置,還需要知道各個(gè)參數(shù)含義和類(lèi)型,這里提供另外一種方法,那就是Python的openCV工具包,絕對(duì)開(kāi)源和免費(fèi),LabVIEW可以利用Python節(jié)點(diǎn)調(diào)用Python的openCV工具包同樣實(shí)現(xiàn)視覺(jué)任務(wù)和復(fù)
    發(fā)表于 12-07 20:59

    如何使用PythonOpenCV模塊檢測(cè)顏色

    在這篇文章,我們將看到如何使用 Python OpenCV 模塊檢測(cè)顏色,進(jìn)入這個(gè)領(lǐng)域的第一步就是安裝下面提到的模塊。pip install opencv-pythonpip
    發(fā)表于 02-09 16:31

    OpenCV的BGR格式,在libyuv對(duì)應(yīng)的那個(gè)格式?OpenCV的RGB格式呢?

    OpenCV的BGR格式,在libyuv對(duì)應(yīng)的那個(gè)格式?OpenCV的RGB格式呢?
    發(fā)表于 09-19 06:00

    一種基于背景減除與三幀差分的運(yùn)動(dòng)目標(biāo)檢測(cè)算法

    本文提出一種基于背景減除法和三幀差分法來(lái)進(jìn)行運(yùn)動(dòng)目標(biāo)檢測(cè)的算法。首先運(yùn)用Surendra 背景更新算法建立運(yùn)動(dòng)區(qū)域的背景模型,通過(guò)背景
    發(fā)表于 06-06 16:04 ?62次下載

    在Vivado如何實(shí)現(xiàn)OpenCV設(shè)計(jì)

    觀看視頻,了解OpenCV庫(kù)和其在一些典型應(yīng)用的使用,以及Zynq-7000 SoC的優(yōu)點(diǎn)和如何實(shí)現(xiàn)OpenCV設(shè)計(jì)。同時(shí)您還能學(xué)習(xí)到如何在設(shè)計(jì)流程中使用HLS和視頻庫(kù)文件。本教程將
    的頭像 發(fā)表于 11-20 06:46 ?3838次閱讀

    OpenCV的混合高斯背景模型源碼程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的使用OpenCV的混合高斯背景模型源碼程序免費(fèi)下載
    發(fā)表于 10-18 11:55 ?5次下載

    如何實(shí)現(xiàn)復(fù)雜背景的快速人臉識(shí)別技術(shù)研究

    對(duì)復(fù)雜背景下的人臉圖像,提出一種快速人臉檢測(cè)識(shí)別方法。包括基于膚色模型和OpenCV的綜合方法進(jìn)行人臉檢測(cè)定位,并對(duì)圖像重新保存、預(yù)處理,用以克服光照因素的干擾,剔除復(fù)雜背景對(duì)人臉識(shí)別不利因素
    發(fā)表于 12-06 15:36 ?14次下載
    如何<b class='flag-5'>實(shí)現(xiàn)</b>復(fù)雜<b class='flag-5'>背景</b><b class='flag-5'>中</b>的快速人臉識(shí)別技術(shù)研究

    復(fù)雜背景下缺陷檢測(cè)將Halcon實(shí)現(xiàn)轉(zhuǎn)為OpenCV的實(shí)例

    導(dǎo)讀 本文主要介紹一個(gè)復(fù)雜背景下缺陷檢測(cè)的實(shí)例,并將Halcon實(shí)現(xiàn)轉(zhuǎn)為OpenCV。 實(shí)例來(lái)源 實(shí)例來(lái)源于51Halcon論壇的討論貼: https://www.51halcon.com
    的頭像 發(fā)表于 06-30 14:05 ?4275次閱讀

    OpenCV的Python實(shí)現(xiàn)

    類(lèi)構(gòu)成,同時(shí)提供了Python、Ruby、MATLAB等語(yǔ)言的接口,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺(jué)方面的很多通用算法。 OpenCV用C++語(yǔ)言編寫(xiě),它的主要接口也是C++語(yǔ)言,但是依然保留了大量的C語(yǔ)言
    的頭像 發(fā)表于 08-25 15:55 ?1990次閱讀

    OpenCV Webinar 2丨如何在OpenCV調(diào)用Tengine推理,實(shí)現(xiàn)開(kāi)發(fā)效率翻倍

    這個(gè)月,OPEN AI LAB的合作伙伴OpenCV 20歲了!值此之際,OpenCV中國(guó)團(tuán)隊(duì)推出系列OpenCV Webinar,在全球范圍內(nèi)定期邀請(qǐng)OpenCV專家來(lái)作...
    發(fā)表于 01-26 19:48 ?3次下載
    <b class='flag-5'>OpenCV</b> Webinar 2丨如何在<b class='flag-5'>OpenCV</b><b class='flag-5'>中</b>調(diào)用Tengine推理,<b class='flag-5'>實(shí)現(xiàn)</b>開(kāi)發(fā)效率翻倍

    如何在OpenCV實(shí)現(xiàn)CUDA加速

    OpenCV4.x關(guān)于CUDA加速的內(nèi)容主要有兩個(gè)部分,第一部分是之前OpenCV支持的圖像處理與對(duì)象檢測(cè)傳統(tǒng)算法的CUDA加速;第二部分是OpenCV4.2版本之后開(kāi)始支持的針對(duì)深
    的頭像 發(fā)表于 09-05 10:03 ?4909次閱讀

    手把手教你使用LabVIEW OpenCV DNN實(shí)現(xiàn)手寫(xiě)數(shù)字識(shí)別(含源碼)

    在LabVIEW如何使用OpenCV DNN模塊實(shí)現(xiàn)手寫(xiě)數(shù)字識(shí)別
    的頭像 發(fā)表于 03-08 16:10 ?1515次閱讀

    基于OpenVINO+OpenCV的OCR處理流程化實(shí)現(xiàn)

    預(yù)處理主要是基于OpenCV、場(chǎng)景文字檢測(cè)與識(shí)別基于OpenVINO框架 + PaddleOCR模型完成。直接按圖索驥即可得到最終結(jié)果。 OpenCV預(yù)處理主要是完成偏斜矯正、背景矯正等操作,然后使用場(chǎng)景文字檢測(cè)模型+OCR識(shí)別
    的頭像 發(fā)表于 11-07 11:21 ?618次閱讀
    基于OpenVINO+<b class='flag-5'>OpenCV</b>的OCR處理流程化<b class='flag-5'>實(shí)現(xiàn)</b>