《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于OpenCV的ARM嵌入式網絡視頻監控系統
基于OpenCV的ARM嵌入式網絡視頻監控系統
來源:微型機與應用2013年第9期
梁 艷
(廣西師范大學 電子工程學院,廣西 桂林 541004)
摘要: 詳細描述了在ARM-Linux嵌入式系統中移植OpenCV的方法,并在OpenCV的基礎上運用Surendra算法設計了一個結合監控和運動目標跟蹤功能的網絡視頻監控系統。
Abstract:
Key words :

摘  要: 詳細描述了在ARM-Linux嵌入式系統中移植OpenCV的方法,并在OpenCV的基礎上運用Surendra算法設計了一個結合監控和運動目標跟蹤功能的網絡視頻監控系統。
關鍵詞: 視頻監控;ARM-Linux嵌入式系統;OpenCV;Surendra算法

 近年來,公共場所的安全防范問題得到了越來越多的關注,一些視頻監控系統也日益重要起來。嵌入式系統的硬件集成化程度高,軟件采用實時多任務操作系統和相應的應用軟件,軟硬件均可裁減。隨著大規模集成電路的發展,ARM處理器的速度也越來越快,以ARM處理器為核心的嵌入式平臺在視頻監控方面具有很大的優勢[1]。本文詳細描述了在ARM-Linux嵌入式系統中移植OpenCV的方法,并在此基礎上運用Surendra算法設計了一個結合監控和運動目標跟蹤功能的網絡視頻監控系統。
1 OpenCV簡介
 OpenCV是由Intel公司發起并參與開發且在近年來迅速普及的計算機視覺研究工具,是一個跨平臺的計算機視覺庫[2]。OpenCV可以在Windows、Linux以及Android等系統上運行,Intel公司免費開放該函數庫的源代碼。OpenCV提供了非常豐富的幀提取函數和視覺處理算法,開發者可以在其視頻開發項目中直接調用進行算法移植并添加自己編寫的程序,即可完成復雜龐大的開發任務,達到事半功倍的效果[3]。
2 系統硬件構架
 系統基于客戶端/服務器的模式運行。服務器采用Mini2440開發板,該開發板基于ARM9內核,安裝了Linux-2.6.32內核的Linux操作系統,微處理器采用Samsung S3C2440,采用專業的CPU內核電源芯片和復位芯片以保證系統的穩定性,最高主頻為533 MHz??蛻舳藶槠胀≒C,在PC上安裝Fedora11操作系統和OpenCV函數庫,客戶端通過網絡同時接收來自多個服務器的視頻數據[4-5]。整個系統的硬件結構如圖1所示。

 

 

3 移植OpenCV函數庫
 最終的目標是要在ARM嵌入式平臺上實現系統監控和跟蹤功能,故需要交叉編譯在ARM-Linux平臺上移植OpenCV函數庫[6]。移植過程如下:
 (1)獲取OpenCV源代碼后解壓,在當前目錄下輸入如下命令:./configure
  --host=arm-linux --without-gtk
 --without-carbon --without-quicktime
 --without-ffmpeg --without-python
 --without-swig --enable-static
 --enable-share --disable-apps
 CXX=arm-linux-g++ CC=arm-linux-gcc
 --prefix=/usr/local/opencv
 &make &make install
 (2)設置環境變量:export PKG_CONFIG
 _PATH=$PKG_CONFIG_PATH:/usr/local/opencv/lib/pkgconfig。編譯OpenCV源代碼自帶的例程,測試OpenCV函數庫移植是否成功。因為在移植OpenCV函數庫時沒有添加對gtk的支持,故在編譯例程drawing.c時要去掉與顯示相關的函數。使用命令:arm-linux-gcc drawing.c-o drawing′pkg-config--cflags opencv′′pkg-config--libs opencv′,生成可執行文件drawing。
 (3)在OpenCV安裝路徑/usr/local/opencv下,把lib文件夾里的庫文件拷貝到ARM-Linux平臺的文件系統里。運行可執行文件drawing,如果在ARM-Linux平臺上成功執行,則表示OpenCV函數庫移植成功。
4 嵌入Surendra算法
 網絡視頻監控系統是通過攝像頭獲取圖像,對獲取到的圖像進行處理確定運動目標,若發生異常情況,系統會自動發出警告并啟動錄像功能進行錄制保存。運動目標檢測是該系統的核心,是實現運動目標識別和跟蹤的基礎。對比各種運動目標檢測算法,同時根據系統處理器的運算能力,本文選用Surendra背景更新算法作為運動目標的檢測算法[7]。
 Surendra算法能夠自適應地獲取背景圖像,其基本思想是通過當前幀幀差圖像找到物體的運動區域,保持該區域內的背景不變,用當前幀更新非運動區域的背景,經過迭代運算后就可以提取出背景圖像,實現自動更新[8]。Surendra算法步驟如下:

 運動目標的檢測就是在當前幀圖像中提取運動目標,而一般情況下前景的運動目標與背景的灰度值有很大的差異,但運動物體本身的灰度值差異一般不會很大。因此背景差分二值圖像為:

 其中,Ii為當前幀圖像,Bi為背景圖像。差分二值圖像的灰度值為255的像素點可視為前景的運動目標點。通過比較這些點的個數變化是否在一定的閾值內可以判斷是否有運動物體進入監控區域。
 在圖像處理中,不同類型的圖像內部結構不同,需要根據圖像的結構采用不同的方法將圖像數據讀入內存[9]。OpenCV的API函數cvCaptureFromCAM可以將圖像數據從攝像頭中加載進來,圖像結構類型使用IplImage結構體來表示。cvCaptureFromCA的函數原型為:CvCapture*cvCaptureFromC AM(int index),它返回值為一個指向CvCapture結構體的指針,然后通過調用API函數cvQueryFrame(CvCapture*capture)返回得到一個指向IplImage結構體的指針,采集進來的圖像信息就保存在IplImage結構體中。IplImage結構體的width、height、widthStep成員分別指示了圖像的寬像素數、高像素數、排列圖像的行大小,指針參數imageData指向了實際的圖像數據。圖像數據可以看作一個二維矩陣,相應的處理可以看作對一個二維矩陣的處理,對圖像進行嵌入Surendra算法開發主要就是對imageData指向的數據進行操作[10]。在實際開發中,為了減輕處理器的運算壓力,嵌入Surendra算法是以當前幀的前4幀圖像作為背景圖像,即Ii和Ii-4分別代表當前幀和前一幀圖像,然后依據Surendra算法原理對兩幀圖像求幀差分并進行二值化,最終檢測出運動物體。
5 客戶端/服務器設計
 系統軟件設計采用客戶端/服務器的模式結合Linux多線程的編程方法,使整個系統能夠流暢地實現多用戶的接入和切換。每個作為服務器的ARM嵌入式平臺上外接一個USB攝像頭,分布于監控點上的多個服務器通過網絡連接到作為客戶端的PC上,由此構成了整個網絡監控系統[11]。在系統中使用IP地址作為服務器的編號,用來區分來自于不同監控點上傳送來的視頻信息。
 系統軟件由兩部分組成,分別是基于ARM嵌入式平臺上的服務器端和基于PC上的客戶端[12]。服務器端需要完成3個基本任務,即圖像獲取、圖像處理和處理后圖像數據的網絡發送。在軟件設計上,使用3個線程實現這3個任務,在線程之間采用互斥鎖的機制對關鍵數據進行保護和實現線程之間的同步,以保證系統的平穩、流暢運行。圖像獲取線程與圖像處理線程之間、圖像處理線程與圖像發送線程之間共同維護了兩個緩沖區img1和img2,圖像數據基于流水線的模式由USB攝像頭采集進來經處理后再通過TCP/IP網絡發送出去[13-14]。服務器端的運行機制如圖2所示。

 可看到緩沖區img1和img2分別有兩個線程擁有權限對其進行操作,如果兩個線程同時對數據進行讀寫,就會出現競爭現象,進而破壞數據的完整性。針對這種情況,采用了Linux互斥鎖的機制,控制程序在對緩沖區進行讀寫操作時永遠只會響應一個線程的操作請求,如在圖像獲取線程與圖像處理線程之間采用如下處理:
 ……
 data_process=0;
 pthread_mutex_lock(&mutex);
 ……//算法處理代碼
 data_process=1;
 pthread_mutex_lock(&mutex);
 ………
 運用這樣的方法就可以對數據在特定時間進行保護,同時也可以實現線程之間的同步,非常有利于系統的流暢運行。圖像獲取線程每秒從USB攝像頭中采集30幀的數據。為了提高處理速度,選擇灰度圖像處理,大大減少了ARM處理器的工作量,提高了系統的運行效率。
 相對于服務器端,客戶端在實現上簡單很多??蛻舳藰嫿ㄔ赑C上,只需要完成圖像數據的網絡接收和圖像顯示兩個基本任務。它們由兩個線程來實現,兩個線程之間共同維護一個緩沖區,也是采用互斥鎖的機制對數據在特定時間進行保護。用戶通過IP地址作為編號識別不同的服務器端,在計算機上可以對關心的區域進行實時的遠程監控和跟蹤。
 本系統成功地將OpenCV函數庫移植到ARM-Linux嵌入式系統中,并基于OpenCV函數庫和Surendra算法開發與實現了一個嵌入式網絡視頻監控系統。在系統運行的過程中,每秒從USB攝像頭中采集30幀的圖像數據,每4幀圖像之間進行一次算法處理,即相當于每間隔0.13 s進行一次Surendra算法處理。這樣不但減輕了處理器的運算壓力,同時也能滿足系統對視頻連續性與運動物體檢測的要求。
參考文獻
[1] 陳艷華,侯安華,劉盼盼.基于ARM的嵌入式系統開發與實例[M].北京:人民郵電出版社,2008.
[2] Intel Corporation. OpenCV reference manual[S/OL]. (2001)[2001].http://www.intel.com.
[3] 劉瑞幀,于士琪.OpenCV教程——基礎篇[M].北京:北京航空航天大學出版社,2007.
[4] 周香珍,芮筱亭,張順.基于DSP的運動目標跟蹤系統的實現[J].微計算機信息,2008(23):189-191.
[5] 汪愛麗,劉孟洪.基于ARM的嵌入式網絡監控系統構建[J].微處理機,2009(5):59-60.
[6] 尹俊超,劉直芳.基于OpenCV的運動目標檢測與跟蹤[J].計算機工程與設計,2011,32(8):2817-2820.
[7] 汪成亮,賈亮亮.一種基于改進Surendra背景更新算法的運動目標檢測[J].世界科技研究與發展,2012,34(2):272-275.
[8] 徐方明,盧官明.基于改進surendra背景更新算法的運動目標檢測算法[J].山西電子技術,2009(5):39-40,71.
[9] 阮秋琦.數字圖像處理學[M].北京:電子工業學院,2007.
[10] 賈永紅,張謙.數字圖像處理實習教程[M].武漢:武漢大學出版社,2012.
[11] 唐人財,劉連浩.基于嵌入式Linux遠程圖像監控系統的設計[J].計算機與現代化,2010(11):31-34,38.
[12] 諶洪茂,徐猛華.基于嵌入式遠程監控系統的設計[J].計算機與現代化,2004(2):86-88.
[13] 方曉翠,周淵平,王小紅.嵌入式遠程視頻監控系統的設計[J].通信技術,2011,44(10):105-108.
[14] 王秀芳,張昆,桑圣潔.基于ARM的圖像監控系統的開發[J].科學技術與工程,2011,11(14):3313-3317,3321.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          在线观看视频亚洲| 国产一区香蕉久久| 欧美性感一类影片在线播放| 久久成人这里只有精品| 国产亚洲精品久久久久动| 在线观看91久久久久久| 亚洲精品乱码久久久久久蜜桃91| 一区二区在线观看视频在线观看| 一区二区三区产品免费精品久久75| 欧美亚洲免费高清在线观看| 激情视频亚洲| 亚洲欧洲精品天堂一级| 国产日韩精品久久久| 免费在线观看一区二区| 国内自拍一区| 欧美午夜免费电影| 亚洲一区国产精品| 亚洲视频一区在线观看| 欧美精品www| 久久精品亚洲精品国产欧美kt∨| 日韩视频中文字幕| 国产欧美精品日韩区二区麻豆天美| 99在线精品视频| 亚洲天堂网在线观看| 亚洲一区二区综合| 国产视频在线观看一区二区三区| 亚洲福利国产精品| 91久久精品美女高潮| 欧美精品日韩综合在线| 久久国产欧美| 欧美日韩国产综合网| 国产精品视频九色porn| 国产精品视频第一区| 亚久久调教视频| 亚洲精品乱码久久久久久日本蜜臀| 国产主播一区二区三区| 经典三级久久| 久久久91精品国产一区二区精品| 欧美精品一区三区在线观看| 亚洲国产日韩美| 亚洲美女在线观看| 国产精品综合久久久| 欧美成人亚洲成人日韩成人| 久久精品国产免费看久久精品| 国产老女人精品毛片久久| 欧美国产日韩视频| 午夜日本精品| 亚洲精品资源| 久久精品91久久香蕉加勒比| 国产日韩欧美一区二区三区在线观看| 久久精品一区中文字幕| 国产日韩欧美一区二区三区四区| 国产乱码精品一区二区三区不卡| 国产精品高潮呻吟| 欧美日本一区二区三区| 久久久爽爽爽美女图片| 国产精品草莓在线免费观看| 国产精品综合不卡av| 欧美电影免费网站| 在线免费观看成人网| 欧美日韩在线大尺度| 亚洲欧美日韩在线| 在线观看亚洲精品视频| 91久久精品国产91性色| 在线观看日韩av先锋影音电影院| 欧美大胆成人| 亚洲激情电影中文字幕| 久久婷婷国产麻豆91天堂| 国产精品亚洲人在线观看| 亚洲日本无吗高清不卡| 国产拍揄自揄精品视频麻豆| 国产精品av久久久久久麻豆网| 欧美一区二区三区喷汁尤物| 欧美美女bbbb| 欧美亚洲一区在线| 好看不卡的中文字幕| 免费视频一区二区三区在线观看| 影院欧美亚洲| 狠狠色综合一区二区| 亚洲精品一区二区三区婷婷月| 米奇777超碰欧美日韩亚洲| 国产精品久久久久一区| 好吊色欧美一区二区三区视频| 亚洲经典一区| 欧美不卡一卡二卡免费版| 国产精品女主播一区二区三区| 国产美女精品人人做人人爽| 国产精品久久久久久久久久妞妞| 99香蕉国产精品偷在线观看| 在线精品视频在线观看高清| 鲁大师影院一区二区三区| 亚洲三级毛片| 亚洲九九精品| 欧美大秀在线观看| 亚洲深夜福利在线| 日韩一级片网址| 久久久久久网站| 欧美精品麻豆| 亚洲高清不卡在线观看| 伊人精品成人久久综合软件| 狠狠色狠狠色综合系列| 91久久精品网| 亚洲欧洲日韩女同| 一区二区三区精品久久久| 免费成年人欧美视频| 国产精品亚洲人在线观看| 欧美一区二区三区播放老司机| 99国产成+人+综合+亚洲欧美| 国产在线拍揄自揄视频不卡99| 极品日韩久久| 在线亚洲精品福利网址导航| 樱桃成人精品视频在线播放| 有坂深雪在线一区| 一区二区三区我不卡| 性做久久久久久免费观看欧美| 影音先锋成人资源站| 亚洲国产一区二区三区青草影视| 久久一区激情| 欧美成人综合在线| 久久九九国产精品| 亚洲国产国产亚洲一二三| 久久国产精品亚洲va麻豆| 欧美日韩伊人| 欧美国产精品人人做人人爱| 国产欧美日本一区视频| 欧美激情亚洲另类| 国产精品国产三级国产aⅴ9色| 91久久精品一区| 亚洲线精品一区二区三区八戒| 欧美永久精品| 欧美精品在线一区| 国产精品系列在线播放| 亚洲高清免费| 久久se精品一区二区| 国产精品一香蕉国产线看观看| 国产精品免费看久久久香蕉| 久久精品91| 久久精品99久久香蕉国产色戒| 国内成人精品视频| 一区在线免费观看| 亚洲精品国产精品乱码不99| 欧美激情在线有限公司| 久久综合亚洲社区| 久久久久国产精品www| 亚洲精品国产品国语在线app| 久久久青草婷婷精品综合日韩| 亚洲精品视频免费在线观看| 亚洲视频网站在线观看| 欧美久久电影| 欧美激情一区二区久久久| 亚洲精品影视| 国产精品乱子乱xxxx| 在线高清一区| 欧美人与性动交α欧美精品济南到| 国产欧美一区二区三区国产幕精品| 国产精品区一区二区三区| 久久久久久久激情视频| 国产亚洲一区二区三区在线观看| 国产精品久久久久久久久免费桃花| 欧美亚洲综合久久| 国产一区二区视频在线观看| 香蕉乱码成人久久天堂爱免费| 一区二区三区在线免费观看| 欧美日韩欧美一区二区| 欧美日韩国产免费观看| 欧美成人免费全部观看天天性色| 久久精品一区| 亚洲午夜国产成人av电影男同| 欧美黄色影院| 模特精品裸拍一区| 国产精品久久久久久久久免费桃花| 欧美国产精品va在线观看| 国产精品女主播在线观看| 亚洲一级黄色片| 亚洲精品视频免费在线观看| 一本色道久久精品| 一区在线免费| 欧美jizzhd精品欧美喷水| 日韩视频免费观看高清完整版| 亚洲精品乱码久久久久久黑人| 久久久午夜电影| 日韩写真在线| 欧美freesex8一10精品| 亚洲精品一区二区三区福利| 亚洲黄一区二区三区| 性欧美8khd高清极品| 一区二区三区波多野结衣在线观看| 国产在线视频不卡二| 国产综合第一页| 国产精品久久久久77777| 国产一区二区在线观看免费| 国产在线高清精品| 欧美黄色免费网站| 国产日韩欧美在线播放| 欧美日韩福利在线观看| 激情91久久| 欧美自拍丝袜亚洲| 久久不射网站| 一区二区欧美亚洲| 国产亚洲激情视频在线| 国产精品大全| 国产精品青草久久| 欧美日韩一区二区三区免费看| 亚洲成在线观看| 亚洲大片在线观看| 午夜精品久久久久久久99黑人| 欧美日韩国产首页| 国产欧美精品一区二区三区介绍| 亚洲国产婷婷香蕉久久久久久99| 国产精品福利影院| 欧美日韩国产色站一区二区三区| 国产伦精品一区二区三区四区免费| 欧美精品 日韩| 国产一区二区三区在线观看网站| 黄色亚洲网站| 久久精品中文字幕一区| 欧美特黄一级| 久久这里有精品15一区二区三区| 久久九九电影| 91久久嫩草影院一区二区| 欧美**字幕| 国产精品久久久对白| 欧美午夜视频在线观看| 欧美二区在线观看| 欧美精品激情blacked18| 久久久999精品免费| 亚洲一区在线看| 裸体歌舞表演一区二区| 国产精品黄色在线观看| 欧美一区二区三区视频免费| 欧美伦理a级免费电影| 国产精品成人v| 亚洲区免费影片| 欧美/亚洲一区| 久热精品视频在线| 亚洲精品在线视频| 久久夜色精品一区| 久久成人资源| 久久精品导航| 亚洲影院在线| 国产综合一区二区| 亚洲欧美一区二区三区在线| 亚洲欧美福利一区二区| 欧美视频在线不卡| 麻豆精品在线视频| 亚洲香蕉在线观看| 性xx色xx综合久久久xx| 国产精品高潮呻吟视频| 欧美精品七区| 国产精品wwwwww| 国内精品一区二区| 亚洲欧洲日本mm| 欧美另类在线观看| 国产精品av免费在线观看| 久久精品二区| 国产欧美日韩在线观看| 夜夜爽夜夜爽精品视频| 欧美伊人久久久久久久久影院| 亚洲第一天堂无码专区| 永久91嫩草亚洲精品人人| 精品盗摄一区二区三区| 亚洲精品视频在线| 亚洲欧美日韩另类| 免费黄网站欧美| 亚洲福利在线观看| 国产精品久久久久久久电影| 久久精品一本| 国产亚洲欧美一区二区三区| 一区二区三区www| 激情成人中文字幕| 欧美顶级艳妇交换群宴| 欧美日本亚洲| 尤物九九久久国产精品的分类| 欧美成人蜜桃| 亚洲第一区在线观看| 在线精品视频在线观看高清| 欧美日韩中文精品| 美女诱惑黄网站一区| 国内精品久久久久久久影视蜜臀| 国产精品美女视频网站| 一区二区日韩免费看| 欧美日韩福利在线观看| 欧美mv日韩mv亚洲| 99精品免费视频| 136国产福利精品导航网址应用| 久久综合久久综合九色| 国产精品99久久久久久白浆小说| 亚洲大片精品永久免费| 亚洲精品之草原avav久久| 亚洲国产精品久久久| 亚洲电影av在线| 欧美日韩免费在线| 一区二区三区高清不卡| 免费一级欧美在线大片| 99在线|亚洲一区二区| 在线播放日韩欧美| 亚洲一区二区久久| 久久国产黑丝| 亚洲精品女av网站| 亚洲视频第一页| 老司机精品福利视频| 欧美寡妇偷汉性猛交| 亚洲免费电影在线观看| 亚洲视频www| 欧美在线啊v一区| 亚洲国产另类 国产精品国产免费| 午夜日韩在线观看| 欧美一区二区三区四区高清| 欧美精品亚洲二区| 欧美女同在线视频| 久久综合给合久久狠狠色| 久久精视频免费在线久久完整在线看| 国产一区二区黄色| 亚洲一二三四久久| 国产精品yjizz| 欧美高清在线| 欧美大片一区二区| 一区二区在线观看视频在线观看| 99精品视频网| 国产精品久久久久久久免费软件| 亚洲黄色有码视频| 欧美另类videos死尸| 又紧又大又爽精品一区二区| 亚洲自拍偷拍色片视频| 国产视频一区二区三区在线观看| 亚洲精品一区二区网址| 亚洲欧美国产日韩中文字幕| 国产精品视频专区|