www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 物聯(lián)網(wǎng) > 《物聯(lián)網(wǎng)技術》雜志
[導讀]摘要:為了實現(xiàn)交通視頻信息的感知和提取,采用基于MFC并使用OpenCV進行視頻處理的可視化編程方法,通過構造一個包含常見操作的C++類,同時以OpenCV中的相關函數(shù)為接口,建立了一個視頻處理程序架構,來實現(xiàn)MFC應用程序?qū)penCV算法的融合,以智能地感知和處理交通視頻中的信息。

引言

計算機視覺技術是通過對常見的圖像、視頻進行操作來提取其中信息的一種技術。OpenCV是Intel公司開發(fā)的一款開源圖像視頻處理庫,使用OpenCV中封裝好的庫函數(shù),可以很方便地對視頻中的圖像進行提取、保存、變換等形態(tài)學操作,這種技術在很大程度上簡化了開發(fā)的進程孔

由于OpenCV只提供相關處理的算法,而程序操作界面略顯不足,所開發(fā)的程序進行參數(shù)設置不方便,因此,在實際應用層面,開發(fā)者通常將OpenCV函數(shù)庫與MFC(MicrosoftFoundationClasses是微軟基礎類庫,可提供Windows編程的框架)相結(jié)合進行開發(fā)叫這種使用MFC構建Win32程序框架,并使用OpenCV構建算法的各取所長方法,對于軟件的實用性和可操作性具有重大意義。

本文總結(jié)出了一套將OpenCV算法應用于Win32對話框程序中的標準方法,該方法可以通過定義C++類創(chuàng)建對象,來輕松實現(xiàn)對公路交通視頻中交通參數(shù)的提取。

1視頻車輛檢測器的基本功能

本程序以MFC+OpenCV的方式進行開發(fā),并以實用為準則,通過可視化的界面和按鈕的方式來實現(xiàn)原始視頻的播放,視頻信息分析,自定義觀測點和車流量計數(shù)周期,交通參數(shù)的測量,統(tǒng)計結(jié)果的存儲和重現(xiàn)等功能。其軟件各個功能的關系如圖1所示。

基于OpenCV的交通視頻感知處理程序框架

圖1交通視頻檢測系統(tǒng)功能架構圖

2視頻車輛檢測器的技術實現(xiàn)

要實現(xiàn)上述系統(tǒng),主要有兩方面問題:一是如何構建視頻對象,并通過操作視頻對象來對視頻信息進行提取;二是如何對視頻進行操作來實現(xiàn)上述的各個功能。

2.1創(chuàng)建視頻對象

使用創(chuàng)建對象的方式操作視頻時,首先要定義視頻的類。在視頻處理中,通常先提取出一幀一幀的圖像,然后對所提取的圖像進行處理,再將其保存或者播放至應用程序的控件中。跟據(jù)此原理,可定義一個視頻的類,類中包含上述過程所涉及的屬性和操作方法,其代碼及注釋如下(代碼中視頻類的名稱為CVideo):

classCVideo{

public:

CVideo();//構造函數(shù)

virtual?CVideo();//析構函數(shù)

//以下為數(shù)據(jù)成員

CvCapture*pCapture;

//OpenCV用來讀取視頻的結(jié)構體,存儲待讀取的視頻

Ipllmage*pFrame;

//OpenCV用來存儲圖像的結(jié)構體,存儲當前視頻幀的圖像

Ipllmage*cFrame;//存儲當前幀處理后的圖像

HDChDC1;

//定義設備上下文的句柄,用來播放原始視頻(可選)

CRectrect1;

//定義一個矩形區(qū)域,用來設定原始視頻的ROI區(qū)域

HDChDC2;

//定義設備上下文的句柄,用來播放處理后的視頻

CRectrect2;

//定義一個矩形區(qū)域,用來設定處理后視頻的ROI區(qū)域CStringm_file;//字符串,存儲視頻的路徑和名稱


intm_fps;

//存儲視頻中每秒的幀數(shù),便于進行播放速度的控制

/*以下為成員函數(shù)(限于篇幅,本文未提供成員函數(shù)的所有代碼,讀者可以根據(jù)注釋參考OpenCV文檔自行編寫)*/

voidPlay(intpos);

//播放pos位置的幀,將此幀的圖像放入pframe中,將pframe顯示在hDC1中

voidConvertedplay();

//直接將當前幀處理后的圖像cframe顯示在hDC2中

voidClosefile();

//關閉文件,釋放當前視頻所占的內(nèi)存

boolOpenfile(CStringfile);

/*根據(jù)儲存在數(shù)據(jù)成員file中的路徑打開視頻文件,同時獲取視頻的幀總數(shù)和fps,將其存儲在該類的數(shù)據(jù)成員中*/};

定義好視頻的類之后,便可以通過此類所定義的對象中的各個數(shù)據(jù)和方法對視頻進行常見的操作。

2.2視頻對象的處理

在可視化的界面中通??赏ㄟ^按鈕觸發(fā)事件。假設現(xiàn)在定義了一個myvide。的對象,那么,就可以用以下方法按下相應按鈕來執(zhí)行所需功能。

打開視頻。將對話框中播放原始視頻的設備的ID和播放處理后的視頻設備ID分別讀入myvideo相應的成員中;通過MFC中的CFileDialog類讀取文件,將文件的路徑存儲在myvideo.m_file中,調(diào)用myviedo.Openfile()方法打開視頻。初始化當前播放位置,并初始化對話框。此時,該視頻將處于待播放和待轉(zhuǎn)換的狀態(tài)。

播放和分析視頻。播放和分析的過程可以通過定時器來實現(xiàn)。當點擊播放后,設置并啟動定時器。定時器每隔一定時間中斷一次,其中斷頻率通過視頻對象中的myvideo.m_fps調(diào)節(jié)。定時器在一個中斷中,首先使用myvideo.play()函數(shù)將當前幀推送至原始視頻播放設備中播放,并將當前幀(即myvideo.pframe)放入自己定義的圖像分析處理函數(shù)中進行處理,同時將處理結(jié)果放至myvideo.cframe中,然后使用myvideo.Convertedplay()函數(shù)將處理后的幀推送到處理后的視頻播放設備中播放,最后幀位置加1。至此,一個中斷執(zhí)行完畢。其流程圖如圖2所示。

基于OpenCV的交通視頻感知處理程序框架

圖2—個定時器中斷中播放和處理視頻流程圖

停止播放。當點擊停止播放按鈕時,調(diào)用myvideo.Closefile()函數(shù)關閉文件,釋放內(nèi)存。同時還要銷毀定時器,清理相關中間變量。

定義觀測線和計數(shù)周期。為了實現(xiàn)車輛數(shù)量的測量,必須首先定義車輛的觀測線。觀測線的設定可用在背景圖像上點擊的方式來實現(xiàn)。記錄點擊下的觀測線兩端的坐標,即可確定觀測線的位置,當有車輛越過觀測線時,對車輛數(shù)加1。每一個計數(shù)周期過后,輸出本周期內(nèi)車流量的檢測結(jié)果。

檢測結(jié)果的顯示。檢測的車流量統(tǒng)計結(jié)果可以通過VC++中的一個list控件呈現(xiàn)出來[71。每隔所設定的計數(shù)周期時間,則將本時間段檢測的結(jié)果條目加入list控件之中,以通過表格的方式將結(jié)果展現(xiàn)出來。

檢測結(jié)果的導出。通過按鍵操作程序可以將車輛檢測結(jié)果導出為txt格式的文本文件或者excel表格保存,以方便統(tǒng)計

3視頻處理算法

在檢測系統(tǒng)中必須要設計良好的識別算法來提取交通信息,以下將對本系統(tǒng)所使用的視頻處理算法進行簡要介紹。當提取出一幀原始圖像之后,首先使用高斯背景建模,得到背景圖像[8],再用當前圖像減去背景圖像并進行如圖3所示的變換,再提取出運動車輛的二值圖像,只要識別出車輛的輪廓就可以實現(xiàn)對車輛的跟蹤,最后將跟蹤結(jié)果放入處理后的圖像中[9],這一系列的處理可放在定時器中斷的圖像處理函數(shù)中。在此處理過程中,每一步的處理方法和參數(shù)都必須經(jīng)過反復的試驗和測試,才能達到最好的效果。其算法流程如圖3所示。

基于OpenCV的交通視頻感知處理程序框架

圖3視頻圖像處理算法流程圖

4實驗結(jié)果

此程序通過構建C++的視頻類并定義視頻對象,可完成交通視頻的處理工作。同時,利用此框架,可以快速搭建交通視頻處理的Win32應用程序。在此框架上進行合理的擴展,可以勝任當前大部分交通視頻的參數(shù)提取工作。圖4所示是基于MFC+OpenCV框架的交通流量檢測系統(tǒng)軟件界面圖。

基于OpenCV的交通視頻感知處理程序框架

圖4基于MFC+OpenCV框架的交通流量檢測系統(tǒng)

圖4中,左上角的播放控件播放原始視頻,右上角用來播放處理后的視頻,下方為輸出結(jié)果的控件。原始視頻和處理后的視頻播放同步進行,當車輛接近所設定的計數(shù)線時,程序使用矩形框?qū)⑵淙Τ?;越過計數(shù)線后,計數(shù)器加1并將數(shù)字在旁邊顯示出來。

5結(jié)語

本文介紹了一種基于MFC和OpenCV的交通視頻處理程序。實驗結(jié)果表明,此設計方法具有較高的穩(wěn)定性,可以達到預期的效果。但是,本系統(tǒng)在架構和算法方面,仍然具有需要更進一步完善的地方,具體如下:

(1)當視頻上有其他因素影響時(如車輛陰影、攝像機微小抖動等),由于軟件中并沒有加入相關消除的算法,檢測結(jié)果會受到影響,因此,在進一步處理中,應當加入去陰影、消抖等算法。

(2)公路車輛擁堵時,不能很好識別出背景,干擾較大。

(3)在夜晚時,由于光照、車燈等條件的影響,檢測算法不能對車輛進行很好識別。在進一步改進中,應該加入相關的處理算法,也可以通過檢測車燈來檢測車輛數(shù)。

(4)車輛重疊時,有可能將兩輛車識別成為一輛。

(5)識別準確率有待提高,計數(shù)方法也有待改進。

20210917_61443242eb7b4__基于0penCV的交通視頻感知處理程序框架

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉