基于OpenCV和VC6.0的數(shù)據(jù)監(jiān)控系統(tǒng)設計
掃描二維碼
隨時隨地手機看文章
摘要:文中基于OpenCV和VC6.0設計了一個實時監(jiān)控系統(tǒng),同時對OpenCV在VC6.0的環(huán)境下的配置及調用的相關函數(shù)也進行了詳細論述。該方案對于監(jiān)控系統(tǒng)下的圖像處理的應用設計具有很高的實用價值。
關鍵詞:OpenCV;VC6.0;圖像處理;監(jiān)控系統(tǒng)
0 引言
近幾年來,計算機監(jiān)控系統(tǒng)已廣泛應用于交通、醫(yī)療、航天、軍事等諸多領域,而其中的實時的圖像處理、計算機視覺程序起著舉足輕重的作用,OpenCV(Open Source Computer Vision Library)作為Intel開源計算機視覺庫,由一系列C函數(shù)和少量的C++類構成,是可實現(xiàn)圖像處理和計算機視覺方面的很多通用算法。OpenCV擁有包括300多個C函數(shù)的、跨平臺的中、高層API,它不依賴任何其它外部庫,是開放源代碼,對非商業(yè)應用和商業(yè)應用都是免費的,具有基于Intel處理器指令集開發(fā)的優(yōu)化代碼,統(tǒng)一的結構和功能定義,強大的圖像和矩陣運算能力以及方便靈活的用戶接口。同時,OpenCV可以支持Windows和Linux平臺。
1 硬件構成
圖1所示是一個實時監(jiān)控系統(tǒng)的結構框圖。此系統(tǒng)首先通過Camera Link接口來接收相機傳輸?shù)男畔?,并在解碼后將數(shù)據(jù)保存在存儲單元中,然后通過ARM總線接口將數(shù)據(jù)發(fā)送到遠程計算機中。設計中的存儲單元用FPGA實現(xiàn),ARM選用三星的S3C2410芯片來實現(xiàn),通過以太網(wǎng)將數(shù)據(jù)傳輸?shù)接嬎銠C中。
2 軟件實現(xiàn)
設計中的嵌入式系統(tǒng)采用Linux操作系統(tǒng),內核采用2.6.26版本。計算機顯示圖像程序利用VC6.0實現(xiàn),與ARM通過網(wǎng)絡來通信,采用socket傳輸方式。其核心部分為:
3 Opencv安裝及配置
第一步,從http:∥www.opencv.org.cn下載OpenCV1.0安裝程序。在此過程要注意安裝時選擇“將\OpenCV\bin加入系統(tǒng)變量”
(Add\OpenCV\bin to the systerm PATH)。
第二步,檢查C:\Program Files\OpenCV\bin是否已經(jīng)被加入到環(huán)境變量PATH,如果沒有,需加入。加入后需要注銷當前Windows用戶(或重啟)后再重新登陸才能生效。[!--empirenews.page--]
4 配置Visual C++6.0
4.1 全局設置
菜單Tools->Options->Directories:先設置lib路徑,選擇Library files,在下方填入路徑:C:\Program Files\OpenCV\lib然后選擇include files,其配置圖如圖2所示。
4.2 項目設置
每創(chuàng)建一個將要使用OpenCV的VC Project,都需要給它指定需要的lib。其菜單為:Project->Settings,然后將Setting for選為All Configurations,選擇右邊的link標簽,最后在Object/library modules附加上cxcore.lib cv.lib ml.lib cvaux.1ib highgui,lib cvcam.lib,具體設置如圖3所示。
5 結束語
該監(jiān)控系統(tǒng)的服務器為ARM S3C2410處理器,客戶端為PC機,采用Windows XP操作系統(tǒng),雙核處理器,主頻為2.4GHz,內存為2G,硬盤為320G,連接方式為千兆以太網(wǎng),采用標準5類雙絞線連接。
其數(shù)據(jù)來源為外部存儲器(FPGA)的圖像數(shù)據(jù),經(jīng)過千兆網(wǎng)絡傳輸,將數(shù)據(jù)保存到上位機的文件中。圖像為黑白色,格式為.raw,分辨率為1024*1280。
測試傳輸時間為1min,傳輸數(shù)據(jù)容量為1.76GB,經(jīng)過計算,傳輸速率約為240Mb/s。其傳輸圖像的一幀如圖4所示。數(shù)據(jù)顯示,該設計符合要求,傳輸也取得了良好的效果,因此,這種數(shù)據(jù)監(jiān)控系統(tǒng)對于監(jiān)控系統(tǒng)下的圖像處理具有很高的應用參考價值。