一種基于DirectShow技術(shù)的智能視頻監(jiān)控系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種基于DirectShow技術(shù)的智能視頻監(jiān)控系統(tǒng),包括DirectShow組件模塊,用于搭建原始視頻流鏈路,捕獲原始視頻流,將原始視頻流進(jìn)行分流;視頻顯示設(shè)置模塊,用于設(shè)置圖像顯示畫面格式,返回給DirectShow組件模塊進(jìn)行實時顯示;運(yùn)動目標(biāo)檢測模塊,用于檢測監(jiān)控區(qū)域內(nèi)的運(yùn)動目標(biāo),將有運(yùn)動目標(biāo)的圖像數(shù)據(jù)傳輸?shù)紻irectShow組件模塊存儲為視頻文件并報警,否則,自動丟棄沒有運(yùn)動目標(biāo)的圖像數(shù)據(jù);數(shù)據(jù)編碼壓縮模塊,用于將DirectShow組件模塊已保存的視頻文件進(jìn)行后續(xù)編碼壓縮再存儲,并刪除原視頻文件。本發(fā)明解決了工程實踐中缺少開發(fā)簡單但準(zhǔn)確度較高的視頻監(jiān)控系統(tǒng)的技術(shù)問題,其還具有成本低、計算速度快、實時性更好的優(yōu)點(diǎn)。
【專利說明】
-種基于D i rectShow技術(shù)的智能視頻監(jiān)控系統(tǒng)
技術(shù)領(lǐng)域
[0001] 本發(fā)明屬于智能監(jiān)控技術(shù)領(lǐng)域,尤其設(shè)及一種視頻監(jiān)控系統(tǒng)。
【背景技術(shù)】
[0002] Direct化0W是Windows平臺下的流媒體處理的開發(fā)包,它可W接受來自于不同的 數(shù)據(jù)源的數(shù)據(jù)流、處理不同媒體格式,兼?zhèn)渑c底層硬件設(shè)備和高層應(yīng)用軟件的交互的能力, 從Windows?W后它與Windows SDK封裝在一起發(fā)布。DirectShow提供開放式開發(fā)環(huán)境,開發(fā) 人員根據(jù)自己所需,來定制過濾器組件,擴(kuò)展功能。
[0003] ffmpeg是十分強(qiáng)大的多媒體音視頻編解碼開源框架,可W實現(xiàn)音視頻流采集、記 錄、編碼、解碼、轉(zhuǎn)換等,它提供了很多開源庫,能在多種平臺下編譯運(yùn)行。
[0004] 隨著互聯(lián)網(wǎng)和多媒體技術(shù)飛速發(fā)展,視頻監(jiān)控系統(tǒng)被廣泛用于各種監(jiān)控站點(diǎn),然 而傳統(tǒng)視頻數(shù)據(jù)主要用于實時查看和事后分析。隨著計算機(jī)視覺識別技術(shù)的發(fā)展和提供, 智能監(jiān)控系統(tǒng)正有取代傳統(tǒng)視頻監(jiān)控裝置的趨勢,智能監(jiān)控系統(tǒng)將事后分析變成了實時分 析和預(yù)警,減輕了人員的負(fù)擔(dān),也減少事故發(fā)展的概率。其中移動目標(biāo)檢測是智能監(jiān)控的一 個重要組成部分,有許多運(yùn)動目標(biāo)檢測方法被提出和采用。然而運(yùn)其中大多數(shù)算法的復(fù)雜 度較高、計算速度慢,導(dǎo)致實時性比較差,通常是用于仿真分析中,在工程實踐中很少用到。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的目的在于:提供一種基于Direct化OW技術(shù)的智能視頻監(jiān)控系統(tǒng),W解決 工程實踐中缺少開發(fā)簡單但準(zhǔn)確度較高的視頻監(jiān)控系統(tǒng)的技術(shù)問題,其還具有成本低、計 算速度快、實時性更好的優(yōu)點(diǎn)。
[0006] 本發(fā)明采用的技術(shù)方案如下:
[0007] 一種基于Direct化OW技術(shù)的智能視頻監(jiān)控系統(tǒng),包括
[000引Direct化OW組件模塊,用于搭建原始視頻流鏈路,捕獲原始視頻流,將原始視頻流 進(jìn)行分流;
[0009] 視頻顯示設(shè)置模塊,用于獲取原始視頻流分流后的圖像數(shù)據(jù),并設(shè)置圖像顯示畫 面格式,返回給Direct化OW組件模塊進(jìn)行實時顯示;
[0010] 運(yùn)動目標(biāo)檢測模塊,用于獲取和處理Direct化OW組件模塊中原始視頻流分流后的 圖像數(shù)據(jù),檢測監(jiān)控區(qū)域內(nèi)的運(yùn)動目標(biāo),將有運(yùn)動目標(biāo)的圖像數(shù)據(jù)傳輸?shù)紻irect化OW組件 模塊存儲為視頻文件并報警,否則,自動丟棄沒有運(yùn)動目標(biāo)的圖像數(shù)據(jù);
[0011] 數(shù)據(jù)編碼壓縮模塊,用于將Direct化OW組件模塊已保存的視頻文件進(jìn)行后續(xù)編碼 壓縮再存儲,并刪除原視頻文件;
[0012] 原始視頻流經(jīng)Direct化OW組件模塊捕獲并分流到視頻顯示設(shè)置模塊和運(yùn)動目標(biāo) 檢測模塊進(jìn)行處理,經(jīng)視頻顯示設(shè)置模塊處理后的圖像數(shù)據(jù)被發(fā)送到Direct化OW組件模塊 進(jìn)行顯示;經(jīng)運(yùn)動目標(biāo)檢測模塊處理后的圖像數(shù)據(jù)被發(fā)送到Direct化OW組件模塊進(jìn)行存 儲,最后利用數(shù)據(jù)編碼壓縮模塊對已存儲的原視頻文件進(jìn)行后續(xù)編碼壓縮再存儲,并刪除 原視頻文件。
[0013] 進(jìn)一步的,DirectShow組件模塊包括
[0014] 視頻采集模塊,用于捕獲原始視頻流數(shù)據(jù);
[0015] 視頻分流模塊,用于對原始視頻流進(jìn)行兩路分流;
[0016] 視頻顯示模塊,用于接收視頻顯示設(shè)置模塊的圖像數(shù)據(jù)并進(jìn)行顯示;
[0017] 視頻存儲模塊,用于視頻存儲。
[0018] 進(jìn)一步的,視頻采集模塊采用模擬攝像機(jī)或數(shù)字?jǐn)z像機(jī)。
[0019] 進(jìn)一步的,視頻顯示設(shè)置模塊為基于Direct化0W封裝技術(shù)的自定義過濾器組件, 其包括一個標(biāo)準(zhǔn)圖像輸入接口和一個標(biāo)準(zhǔn)圖像輸出接口。
[0020] 進(jìn)一步的,運(yùn)動目標(biāo)檢測模塊,還用于標(biāo)志進(jìn)入監(jiān)控區(qū)域內(nèi)的運(yùn)動目標(biāo)。
[002。 進(jìn)一步的,數(shù)據(jù)編碼壓縮模塊為一個基于ffmpeg編碼器的后臺進(jìn)程,與 Direct化0W組件模塊、視頻顯示設(shè)置模塊和運(yùn)動目標(biāo)檢測模塊不在同一進(jìn)程中。
[0022] 進(jìn)一步的,運(yùn)動目標(biāo)檢測模塊,根據(jù)其實現(xiàn)原理,包括
[0023] 圖像預(yù)處理模塊,用于對視頻圖像進(jìn)行灰度化處理、去噪、W及圖像增強(qiáng);
[0024] 帖間差分模塊,用于計算帖間差分圖像,判斷運(yùn)動目標(biāo)出現(xiàn);
[0025] 背景差分模塊,用于對背景圖像進(jìn)行更新,并計算背景差分圖像,獲得運(yùn)動目標(biāo)的 形狀和位置;
[0026] 運(yùn)動判斷模塊,用于根據(jù)帖間差分圖像,判斷運(yùn)動目標(biāo)出現(xiàn);根據(jù)背景差分圖像, 獲得運(yùn)動目標(biāo)的形狀和位置,W檢測監(jiān)測區(qū)域內(nèi)的運(yùn)動目標(biāo);當(dāng)有目標(biāo)出現(xiàn)時,通知報警模 塊,并將有運(yùn)動目標(biāo)的圖像數(shù)據(jù)發(fā)送至下一級(即Di rect化0W組件模塊的視頻存儲模塊);
[0027] 報警模塊,用于檢測到運(yùn)動目標(biāo)時發(fā)出報警信號,當(dāng)發(fā)生報警時,向Filter Gra地 Manager發(fā)送通知事件,F(xiàn)ilter Gra地Manager再向應(yīng)用程序發(fā)送消息。
[0028] 綜上所述,由于采用了上述技術(shù)方案,本發(fā)明的有益效果是:
[0029] 1.本發(fā)明基于Direct化0W封裝技術(shù),利用Direct化0W封裝技術(shù)使得開發(fā)更為簡 單、方便,將多媒體開發(fā)和智能檢測相結(jié)合,即將DirectShow組件模塊、視頻顯示設(shè)置模塊、 運(yùn)動目標(biāo)檢測模塊和數(shù)據(jù)編碼壓縮模塊結(jié)合在一起,提供了一種智能視頻監(jiān)控方案,當(dāng)運(yùn) 動目標(biāo)出現(xiàn)時,發(fā)出報警,減輕了監(jiān)控人員的負(fù)擔(dān),并將有運(yùn)動目標(biāo)的圖像傳送至下一級進(jìn) 行存儲,否則自動丟棄,節(jié)約存儲空間,運(yùn)種系統(tǒng)不但能保證較高的準(zhǔn)確度,還具有成本低、 計算速度快、實時性更好的優(yōu)點(diǎn)。
[0030] 2.數(shù)據(jù)編碼壓縮模塊為后臺進(jìn)程,利用開源的、穩(wěn)定的ffmpeg編碼器實現(xiàn)編碼壓 縮,不僅可W降低開發(fā)難度、縮短開發(fā)周期、提高壓縮比率、節(jié)約存儲空間,并且數(shù)據(jù)壓縮編 碼是屬于后臺的另一個進(jìn)程,多進(jìn)程處理系統(tǒng)解決了單進(jìn)程系統(tǒng)用戶顯示界面卡頓問題。
【附圖說明】
[0031] 圖1為本發(fā)明結(jié)構(gòu)示意圖;
[0032] 圖2為視頻顯示設(shè)置模塊示意圖;
[0033] 圖3為運(yùn)動目標(biāo)檢測模塊示意圖;
[0034] 圖4為運(yùn)動目標(biāo)檢測算法流程圖。
【具體實施方式】
[0035] 本說明書中公開的所有特征,除了互相排斥的特征和/或步驟W外,均可任何 方式組合。
[0036] 下面結(jié)合圖1~圖4對本發(fā)明作詳細(xì)說明。
[0037] 一種基于Direct化OW技術(shù)的智能視頻監(jiān)控系統(tǒng),包括
[0038] Direct化OW組件模塊,用于搭建原始視頻流鏈路,捕獲原始視頻流,將原始視頻流 進(jìn)行分流;
[0039] 視頻顯示設(shè)置模塊,用于獲取原始視頻流分流后的圖像數(shù)據(jù),并設(shè)置圖像顯示畫 面格式,設(shè)置內(nèi)容包括圖像左右翻轉(zhuǎn)、上下翻轉(zhuǎn)、規(guī)定尺寸大小、帖速率等,方便用戶查看圖 像;
[0040] 運(yùn)動目標(biāo)檢測模塊,用于獲取和處理Direct化OW組件模塊中原始視頻流分流后的 圖像數(shù)據(jù),檢測監(jiān)控區(qū)域內(nèi)的運(yùn)動目標(biāo),將有運(yùn)動目標(biāo)的圖像數(shù)據(jù)傳輸?shù)紻irect化OW組件 模塊存儲為視頻文件并報警,否則,自動刪除沒有運(yùn)動目標(biāo)的圖像數(shù)據(jù);
[0041] 數(shù)據(jù)編碼壓縮模塊,用于將Direct化OW組件模塊已保存的原視頻文件進(jìn)行后續(xù)編 碼壓縮再存儲,并刪除原視頻文件。
[0042] Direct化OW組件模塊包括四個子模塊,即:
[0043] 視頻采集模塊,即Source Filter組件,并利用Source Filter組件捕獲原始視頻 流數(shù)據(jù),W獲取源源不斷的視頻圖像;通過系統(tǒng)枚舉獲得計算機(jī)上安裝的硬件攝像機(jī)資源, 攝像機(jī)采用模擬攝像機(jī)或數(shù)字?jǐn)z像機(jī);當(dāng)選擇模擬攝像機(jī)時,需要視頻采集卡配合使用,也 可選擇數(shù)字?jǐn)z像機(jī),直接通過計算機(jī)接口傳輸視頻流序列,格式可W是YUV等。
[0044] 視頻分流模塊,即DirectShow提供的Sm;wt TeeFilter組件,對每一個攝像機(jī)穿入 的原始視頻流進(jìn)行兩路分流,兩路分流并行處理;其中一路通過Smart TeeFilter組件的 Preview輸出接口進(jìn)入圖像預(yù)處理模塊,一路通過Sm;wt TeeFilter組件的化pture輸出接 口進(jìn)入運(yùn)動目標(biāo)檢測模塊;
[0045] 視頻顯示模塊,即DirectShow提供的Video Renderer組件,其輸入接口接收圖像 預(yù)處理模塊的圖像數(shù)據(jù),并將非壓縮格式的原始數(shù)據(jù)提交至顯卡,最后可W將視頻圖像擅 染在用戶界面上;
[0046] 視頻存儲模塊,即DirectShow提供的File Writer組件,其輸入端還連接有一個 AVI Mux組件,當(dāng)需要保存視頻圖像數(shù)據(jù)時,視頻存儲模塊將圖像數(shù)據(jù)W文件的形式寫入磁 盤,進(jìn)行存儲。
[0047] 原始視頻流經(jīng)Direct化OW組件模塊捕獲并分流到圖像預(yù)處理模塊和運(yùn)動目標(biāo)檢 測模塊進(jìn)行處理,經(jīng)圖像預(yù)處理模塊處理后的圖像數(shù)據(jù)被發(fā)送到DirectShow組件模塊進(jìn)行 顯示;經(jīng)運(yùn)動目標(biāo)檢測模塊處理后的圖像數(shù)據(jù)被發(fā)送到Direct化OW組件模塊進(jìn)行存儲,最 后利用數(shù)據(jù)編碼壓縮模塊對已存儲的原視頻文件進(jìn)行后續(xù)編碼壓縮再存儲,并刪除原視頻 文件。
[004引視頻顯示設(shè)置模塊為基于Direct化OW封裝技術(shù)的自定義過濾器組件,繼承至 CTransfo;rmFilte;r類,其包括一個標(biāo)準(zhǔn)圖像輸入接口和一個標(biāo)準(zhǔn)圖像輸出接口;視頻顯示 設(shè)置模塊的組件基本屬性包括:左右翻轉(zhuǎn)、上下翻轉(zhuǎn)、尺寸、帖速。標(biāo)準(zhǔn)圖像輸入接口接收從 視頻分流模塊的Preview輸出接口傳來的圖像數(shù)據(jù)(即視頻圖像數(shù)據(jù)),判斷圖像格式是否 為RGB格式,否則先進(jìn)行轉(zhuǎn)換,所W需要重寫化eckInputTypeO函數(shù);然后視頻顯示設(shè)置模 塊根據(jù)組件基本屬性中的尺寸大小,創(chuàng)建一個新的內(nèi)存緩存區(qū),根據(jù)組件基本屬性設(shè)置,通 過內(nèi)存拷貝,對原圖形進(jìn)行變換并保存至新的內(nèi)存緩存區(qū),運(yùn)一部分在化ansformO函數(shù)中 完成,由標(biāo)準(zhǔn)圖像輸出接口將內(nèi)存緩存區(qū)指針傳送至下一級過濾器組件的輸入接口,也就 是視頻顯示模塊的輸入接口。
[0049] 數(shù)據(jù)編碼壓縮模塊為一個后臺進(jìn)程,與Direct化OW組件模塊、圖像預(yù)處理模塊、運(yùn) 動目標(biāo)檢測模塊和報警模塊不在同一進(jìn)程中。
[0050] 數(shù)據(jù)編碼壓縮模塊采用的是基于ffmpeg開源庫的編碼器;編碼器為基于libx264 的視頻編碼器,視頻編碼標(biāo)準(zhǔn)是Η. 264格式,壓縮后的視頻文件存儲格式是AVI格式。
[0051] 數(shù)據(jù)編碼壓縮模塊,是一個架構(gòu)比較簡單的基于ffmpeg編碼器的后臺處理進(jìn)程。 W命令行形式,采用libx264編碼庫,WH. 264編碼格式進(jìn)行壓縮,最終存儲為AVI格式文件。 同時編碼壓縮完后,將原來未壓縮的視頻文件進(jìn)行刪除,節(jié)約硬盤存儲空間。
[0化2] 運(yùn)動目標(biāo)檢測模塊,是自定義的過濾器組件,繼承至CTransformFilter類,需要重 寫化eckInputType()和化ansfo;rm()函數(shù)。它包括一個標(biāo)準(zhǔn)圖像輸入接口和一個標(biāo)準(zhǔn)圖像 輸出接口,標(biāo)準(zhǔn)圖像輸入接口用于接收從視頻分流模塊Capture輸出接口獲得的視頻圖像 數(shù)據(jù)。其內(nèi)部申請多個內(nèi)存緩存空間,用于存放臨時圖像數(shù)據(jù),對采集的視頻圖像進(jìn)行處理 和分析,根據(jù)函數(shù)返回值,判斷是否有移動目標(biāo)進(jìn)入監(jiān)控區(qū)域。如有運(yùn)動目標(biāo)存在,則通知 報警模塊,標(biāo)準(zhǔn)圖像輸出接口同時視頻原媒體數(shù)據(jù)包傳送至下一級組件,即視頻存儲模塊 進(jìn)行存儲。
[0053]運(yùn)動目標(biāo)檢測模塊的五個子功能模塊中:
[0化4] 圖像預(yù)處理模塊,將從上一級Sm;wt Tee Filter的Capture引腳獲得的圖像進(jìn)行 預(yù)處理。采用加權(quán)平均值法將圖像變換成灰度圖像;采用加權(quán)濾波方法進(jìn)行去噪,采用模板 為3x3模板,中屯、系數(shù)為2,計算簡單;此后再進(jìn)行直方圖均衡化變化,增強(qiáng)圖像對比度。
[0055]帖間差分模塊,用于計算相鄰兩帖之間的差分圖像并將其二值化,作為背景差分 的補(bǔ)償;如公式(1)所示,其中Ft表示當(dāng)前帖圖像,F(xiàn)t-1表示前一時刻的帖圖像,將其做差與 預(yù)定義闊值Tf做比較,用1表示該像素值得灰度值在不同時刻變化很大;0表示灰度變化較 小或者沒有變化。
[0化6]
[0057]背景差分模塊,一開始使用第一張圖像作為背景圖像B,接著不斷讀取下一帖圖像 Fk,獲得背景差分圖像并將其二值化得到Dk。如公式(2),其中化的預(yù)定于背景闊值,當(dāng)差分 圖像像素點(diǎn)值大于預(yù)設(shè)闊值化是,認(rèn)為是前景點(diǎn)(即目標(biāo)點(diǎn)),否則是背景點(diǎn)。
[0化引
[0059]運(yùn)樣就把背景圖像和運(yùn)動目標(biāo)區(qū)分開了,對于出現(xiàn)運(yùn)動目標(biāo)的背景圖像的區(qū)域不 進(jìn)行圖像更新,對其他區(qū)域則實時更新,采用單個高斯模型的背景構(gòu)建方法來不斷更新背 旦
[0060] 運(yùn)動判斷模塊,判斷是否有運(yùn)動目標(biāo)出現(xiàn)。首先根據(jù)帖間差分圖像,統(tǒng)計帖間差分 圖像中像素點(diǎn)變化的個數(shù),可W得到兩帖圖像的變化率α,將變化率與預(yù)定義闊值Of進(jìn)行比 較,由于帖間差分方法對光線的緩慢變化不敏感,如果小于闊值Of,則屬于有光線干擾,不 用報警;如果超過闊值可W判斷是變化過快,此時可W判定有運(yùn)動目標(biāo)出現(xiàn)。結(jié)合背景差分 圖像,可W得到超過灰度闊值化的像素點(diǎn)的個數(shù)和像素點(diǎn)所在位置,即可W得到運(yùn)動目標(biāo) 的大致形狀和位置。當(dāng)有目標(biāo)出現(xiàn)時,通知報警模塊,并將當(dāng)前圖像媒體數(shù)據(jù)包(即圖像數(shù) 據(jù))發(fā)送至下一級,也就是Direct化0W組件模塊的視頻存儲模塊;
[0061] 報警模塊,用于檢測到運(yùn)動目標(biāo)時發(fā)出報警信號;當(dāng)發(fā)生報警時,向Filter Gra地 Manager發(fā)送通知事件,F(xiàn)ilter Gra地Manager再想應(yīng)用程序發(fā)送消息。
[0062] 運(yùn)動目標(biāo)檢測模塊的運(yùn)動目標(biāo)檢測方法,基于背景差分方法和帖間差分方法進(jìn)行 運(yùn)動檢測,包含W下步驟:
[0063] (1)對視頻圖像序列進(jìn)行預(yù)處理,預(yù)處理包括圖像的灰度變換、灰度化處理和去 噪;
[0064] (2)提取一張視頻圖像(如第一張圖像)作為初始的背景圖像;
[0065] (3)讀取接下來的每一帖視頻圖像;
[0066] (4)更新背景圖像,把背景圖像和運(yùn)動目標(biāo)區(qū)分開了對于出現(xiàn)運(yùn)動目標(biāo)的背景圖 像的區(qū)域不進(jìn)行圖像更新,對其他區(qū)域則實時更新;
[0067] (5)將當(dāng)前帖圖像和前一帖圖像進(jìn)行差分,得到帖間差分圖像。由于帖間差分方法 對光線的緩慢變化不敏感,當(dāng)帖間差分圖像變化率超過預(yù)定義闊值Of時,判斷是屬于運(yùn)動 目標(biāo)出現(xiàn);當(dāng)小于預(yù)定義闊值Of時,是屬于光線干擾;
[0068] (6)在步驟巧)的基礎(chǔ)上,如果有運(yùn)動目標(biāo)出現(xiàn),將當(dāng)前圖像與背景圖像進(jìn)行差分, 得到背景差分圖像,根據(jù)預(yù)定義闊值化將差分圖像二值化,大于預(yù)定于闊值化的則為前景 點(diǎn)(目標(biāo)),當(dāng)小于闊值時,是背景點(diǎn)。
[0069] (7)根據(jù)背景差分圖像得到運(yùn)動目標(biāo)的大小、形狀和位置。
[0070] 其中,上述步驟(1)中預(yù)處理包括對圖像的灰度化和去噪。采用加權(quán)平均值法將圖 像變換成灰度圖像;采用加權(quán)濾波方法進(jìn)行去噪,采用模板為3x3模板,中屯、系數(shù)為2;此后 再進(jìn)行直方圖均衡化變化,增強(qiáng)圖像對比度。
[0071] 其中,上述步驟(5)和(6)中,不同的應(yīng)用場景,預(yù)定義闊值Of和化會有不同。
[0072] 本發(fā)明的一種基于Direct化0W技術(shù)的智能視頻監(jiān)控系統(tǒng)的具體的應(yīng)用舉例如下: 在視頻監(jiān)控系統(tǒng)中,使用USB攝像機(jī)進(jìn)行監(jiān)控,通過USB2.0接口連接計算機(jī),并安裝相應(yīng)驅(qū) 動,在計算機(jī)內(nèi)可W遍歷Direct化0W組件,獲得相應(yīng)的攝像機(jī)模塊,從而獲得視頻數(shù)據(jù),然 后連接Smart Tee分流模塊,一路進(jìn)入圖像預(yù)處理模塊進(jìn)行顯示設(shè)置,送至視頻顯示模塊 進(jìn);另一路送至運(yùn)動目標(biāo)檢測模塊,當(dāng)有人進(jìn)入視頻監(jiān)控區(qū)域時,運(yùn)動目標(biāo)檢測模塊返回標(biāo) 志量為真(即檢測到運(yùn)動目標(biāo)),此時通知報警模塊進(jìn)行語音報警,運(yùn)部分是有應(yīng)用程序編 寫和處理的,同時,將視頻圖像傳送至視頻存儲模塊,它將此后的視頻圖像W文件的形式記 錄在磁盤,此時的文件是未加工的視頻源數(shù)據(jù),所占磁盤容量很大。數(shù)據(jù)編碼壓縮模塊是系 統(tǒng)的另一個后臺進(jìn)程,將視頻文件采用H.264視頻壓縮標(biāo)準(zhǔn)進(jìn)行壓縮,存儲格式是AVI格式, 并同時刪除原來的未壓縮編碼視頻文件。
[0073] 本發(fā)明基于Direct化0W技術(shù),對結(jié)合背景差分法和帖間差分法進(jìn)行改進(jìn),并結(jié)合 Direct化ow封裝技術(shù),將多媒體開發(fā)和智能檢測相結(jié)合,提供了一種智能視頻監(jiān)控方案,當(dāng) 運(yùn)動目標(biāo)出現(xiàn)時,發(fā)出報警,減輕了監(jiān)控人員的負(fù)擔(dān),并將運(yùn)動的圖像傳送至下一級進(jìn)行存 儲,否則自動丟棄,節(jié)約存儲空間;同時,數(shù)據(jù)編碼壓縮模塊后臺利用開源的、穩(wěn)定的ffmpeg 編碼器實現(xiàn)編碼壓縮,不僅可W降低開發(fā)難度、縮短開發(fā)周期、提高壓縮比率、節(jié)約存儲空 間,并且數(shù)據(jù)壓縮編碼是屬于后臺的另一個進(jìn)程,多進(jìn)程處理系統(tǒng)解決了單進(jìn)程系統(tǒng)用戶 顯示界面卡頓問題。
【主權(quán)項】
1. 一種基于DirectShow技術(shù)的智能視頻監(jiān)控系統(tǒng),其特征在于,包括 DirectShow組件模塊,用于搭建原始視頻流鏈路,捕獲原始視頻流,將原始視頻流進(jìn)行 分流; 視頻顯示設(shè)置模塊,用于獲取原始視頻流分流后的圖像數(shù)據(jù),并設(shè)置圖像顯示畫面格 式,返回給DirectShow組件模塊進(jìn)行實時顯示; 運(yùn)動目標(biāo)檢測模塊,用于獲取和處理DirectShow組件模塊中原始視頻流分流后的圖像 數(shù)據(jù),檢測監(jiān)控區(qū)域內(nèi)的運(yùn)動目標(biāo),將有運(yùn)動目標(biāo)的圖像數(shù)據(jù)傳輸?shù)紻irectShow組件模塊 存儲為視頻文件并報警,否則,自動丟棄沒有運(yùn)動目標(biāo)的圖像數(shù)據(jù); 數(shù)據(jù)編碼壓縮模塊,用于將DirectShow組件模塊已保存的視頻文件進(jìn)行后續(xù)編碼壓縮 再存儲,并刪除原視頻文件。2. 如權(quán)利要求1所述的一種基于DirectShow技術(shù)的智能視頻監(jiān)控系統(tǒng),其特征在于, DirectShow組件模塊包括 視頻采集模塊,用于捕獲原始視頻流數(shù)據(jù); 視頻分流模塊,用于對原始視頻流進(jìn)行兩路分流; 視頻顯示模塊,用于接收視頻顯示設(shè)置模塊的圖像數(shù)據(jù)并進(jìn)行顯示; 視頻存儲模塊,用于視頻存儲。3. 如權(quán)利要求2所述的一種基于DirectShow技術(shù)的智能視頻監(jiān)控系統(tǒng),其特征在于,視 頻采集模塊采用模擬攝像機(jī)或數(shù)字?jǐn)z像機(jī)。4. 如權(quán)利要求1所述的一種基于DirectShow技術(shù)的智能視頻監(jiān)控系統(tǒng),其特征在于,視 頻顯示設(shè)置模塊為基于DirectShow封裝技術(shù)的自定義過濾器組件,其包括一個標(biāo)準(zhǔn)圖像輸 入接口和一個標(biāo)準(zhǔn)圖像輸出接口。5. 如權(quán)利要求1所述的一種基于DirectShow技術(shù)的智能視頻監(jiān)控系統(tǒng),其特征在于,運(yùn) 動目標(biāo)檢測模塊,還用于標(biāo)志進(jìn)入監(jiān)控區(qū)域內(nèi)的運(yùn)動目標(biāo)。6. 如權(quán)利要求1所述的一種基于DirectShow技術(shù)的智能視頻監(jiān)控系統(tǒng),其特征在于,數(shù) 據(jù)編碼壓縮模塊為一個基于ffmpeg編碼器的后臺進(jìn)程,與DirectShow組件模塊、視頻顯示 設(shè)置模塊和運(yùn)動目標(biāo)檢測模塊不在同一進(jìn)程中。7. 如權(quán)利要求1~6任一項所述的一種基于DirectShow技術(shù)的智能視頻監(jiān)控系統(tǒng),其特 征在于,運(yùn)動目標(biāo)檢測模塊包括 圖像預(yù)處理模塊,用于對視頻圖像進(jìn)行灰度化處理、去噪以及圖像增強(qiáng); 幀間差分模塊,用于計算幀間差分圖像,判斷運(yùn)動目標(biāo)出現(xiàn); 背景差分模塊,用于對背景圖像進(jìn)行更新,并計算背景差分圖像,獲得運(yùn)動目標(biāo)的形狀 和位置; 運(yùn)動判斷模塊,用于檢測監(jiān)測區(qū)域內(nèi)的運(yùn)動目標(biāo),當(dāng)有目標(biāo)出現(xiàn)時,通知報警模塊,并 將有運(yùn)動目標(biāo)的圖像數(shù)據(jù)發(fā)送至下一級; 報警模塊,用于檢測到運(yùn)動目標(biāo)時發(fā)出報警信號。
【文檔編號】H04N7/18GK106060486SQ201610617945
【公開日】2016年10月26日
【申請日】2016年7月29日
【發(fā)明人】熊靜琪, 馮潔, 孫飛, 曲辛
【申請人】電子科技大學(xué)