王 爽 , 胡炳樑 , 劉彩芳 ,2, 王彩玲 , 錢情明 ,2
(1.中國(guó)科學(xué)院西安光學(xué)精密機(jī)械研究所 陜西 西安 710119;2.中國(guó)科學(xué)院研究所院 北京 100084;3.西安石油大學(xué) 計(jì)算機(jī)學(xué)院,陜西 西安 710065)
基于Matrox Meteor-II/Digital的圖像采集系統(tǒng)研究
王 爽1, 胡炳樑1, 劉彩芳1,2, 王彩玲3, 錢情明1,2
(1.中國(guó)科學(xué)院西安光學(xué)精密機(jī)械研究所 陜西 西安 710119;2.中國(guó)科學(xué)院研究所院 北京 100084;3.西安石油大學(xué) 計(jì)算機(jī)學(xué)院,陜西 西安 710065)
針對(duì)Matrox Meteor-II/Digital圖像采集卡配套軟件不具有實(shí)時(shí)數(shù)據(jù)處理功能的問題,根據(jù)項(xiàng)目需要提出了一個(gè)基于Matrox Meteor-II/Digital圖像采集卡的圖像采集系統(tǒng),并完成了系統(tǒng)搭建及軟件設(shè)計(jì)。該系統(tǒng)的硬件平臺(tái)由CCD、Matrox Meteor-II/Digital圖像采集卡及計(jì)算機(jī)組成;軟件部分基于Matrox圖像采集卡的模式識(shí)別庫(kù)函數(shù)(Matrox Imaging Library),用VC++多線程編程來實(shí)現(xiàn)連續(xù)圖像采集和單幀存儲(chǔ)及實(shí)時(shí)處理等功能。試驗(yàn)表明,該系統(tǒng)操作簡(jiǎn)單、方便,且已經(jīng)在實(shí)驗(yàn)室正常運(yùn)行。
圖像采集卡;連續(xù)圖像采集;單幀存儲(chǔ);采集處理系統(tǒng);多線程編程
簡(jiǎn)單的計(jì)算機(jī)圖像處理系統(tǒng)由攝像頭、微機(jī)及圖像采集卡構(gòu)成,其結(jié)構(gòu)簡(jiǎn)單,應(yīng)用廣泛。與傳統(tǒng)的圖像顯示、處理比較,利用圖像采集卡軟件基本控制庫(kù)對(duì)攝像機(jī)攝取的模擬圖像信號(hào)進(jìn)行數(shù)字轉(zhuǎn)化,提供計(jì)算機(jī)處理所需的數(shù)字圖像信號(hào),對(duì)現(xiàn)有的圖像文件的讀取、處理,都具有實(shí)現(xiàn)簡(jiǎn)單、原理清晰、通用性好的優(yōu)點(diǎn)。
在眾多的圖像采集產(chǎn)品中,加拿大Matrox公司的圖像采集卡,別具特色。它用RS-422或LVDS差分信號(hào)標(biāo)準(zhǔn),采集黑白/分量 RGB,面陣/線陣信號(hào),是一種 PCI或 PC/104-Plus格式視頻采集卡。并且將極具價(jià)值且功能強(qiáng)大的函數(shù)擴(kuò)展性能集成到了采集卡上,可以實(shí)時(shí)采集且將采集到的圖像傳輸?shù)较到y(tǒng)內(nèi)存進(jìn)行處理或顯存以實(shí)時(shí)活動(dòng)視頻窗口進(jìn)行顯示,速率可達(dá)130 MB/s。
正因?yàn)槿绱?,使得Matrox Meteor-II/Digital圖像采集卡[1]脫穎而出。但是,由于其連續(xù)圖像采集不能實(shí)現(xiàn)實(shí)時(shí)存儲(chǔ)的功能,所以就對(duì)研究連續(xù)圖像的變化、圖像實(shí)時(shí)處理和分析帶來了極大的不便。于是,根據(jù)項(xiàng)目需要,文中提出了基于Matrox Meteor-II/Digital圖像采集卡的硬件平臺(tái)以及其圖像識(shí)別庫(kù)函數(shù)(MIL)的圖像采集系統(tǒng)[2-3],主要是在CCD攝像機(jī)的采集速率比較低 (例如:在圖片大小為1 024×1 024像素下,采集速率為4幀/秒)的情況下,調(diào)用MIL函數(shù)庫(kù)里的單幀采集函數(shù)來實(shí)現(xiàn)連續(xù)圖像實(shí)時(shí)采集、顯示及處理,并且把實(shí)時(shí)采集到的每幀圖像及處理結(jié)果都分別存儲(chǔ)。
針對(duì)實(shí)驗(yàn)室中某航天項(xiàng)目中需要進(jìn)行圖像實(shí)時(shí)采集處理的需求,結(jié)合Matrox Meteor-II/Digital圖像采集卡的硬件平臺(tái)以及其圖像識(shí)別庫(kù)函數(shù)(MIL),經(jīng)過分析得到需要設(shè)計(jì)的系統(tǒng)如圖1所示:CCD捕捉外界的光信息并轉(zhuǎn)換為電信號(hào),該電信號(hào)經(jīng)傳輸?shù)綀D像采集卡采集,然后通過圖像采集卡的PCI借口將采集到的圖像數(shù)據(jù)傳送到計(jì)算機(jī),在計(jì)算機(jī)中內(nèi)存中進(jìn)行實(shí)時(shí)處理及存貯,并同時(shí)顯示。
圖1 系統(tǒng)總體結(jié)構(gòu)圖Fig.1 Structure diagram of the power control unit test system
要想完如上功能,必須做好如下事情。圖像采集卡要開辟卡上臨時(shí)存貯單元,以完成圖像數(shù)據(jù)的臨時(shí)存貯及處理;CCD采集速率不能太高,需要滿足下一幅圖像信息到來之前,本副圖像數(shù)據(jù)已經(jīng)完成處理及存貯,這里選擇CCD采集速率為4幀/秒,符合試驗(yàn)要求;在計(jì)算機(jī)種開辟內(nèi)存,編寫相應(yīng)的圖像處理程序。
該采集系統(tǒng)采用的CCD為非標(biāo)準(zhǔn)單色相機(jī),實(shí)驗(yàn)室自行購(gòu)置并經(jīng)過改進(jìn),采集速率為4幀/秒,每幀圖片大小為1024×1024像素。計(jì)算機(jī)為Windows XP系統(tǒng)平臺(tái),1 G內(nèi)存,160 G硬盤,CPU頻率為2.7 GHz。
圖像采集卡為Matrox Meteor-II/Digital圖像采集卡,該卡的主要特點(diǎn)[1]如下:
a.采集數(shù)字面陣/線陣信號(hào),包括多抽頭配置
b.32-bit寬 RS-422 或 LVDS 接口 (可配置 4×8-bit,2×16-bit,1×32bit)
c.采樣率RS-422下達(dá)到25MHz,LVDS下達(dá)到 40 MHz
d.可配置 LUT(4 個(gè) 256×8-bit或 2 個(gè) 4 k×16-bit)
e.觸發(fā)輸入,時(shí)鐘輸出(分離的RS-422/LVDS像素時(shí)鐘(入和出),行/場(chǎng)同步(入和出),有效輸出和兩路計(jì)時(shí)器(曝光)輸出)
f.PCI總線主模式32-bit/33 MHz
g.實(shí)時(shí)傳輸?shù)较到y(tǒng)或顯卡
h.擴(kuò)展板上緩存,確保采集
i.RS-232串口
j.軟件包括 Matrox Imaging Library(MIL)/ActiveMIL,MILLite/ActiveMIL-Lite和Matrox Inspector
Matrox公司圖像采集卡帶有豐富的程序庫(kù)—MIL-LITE(基本控制庫(kù))和 MIL(Matrox Imaging Library 模式識(shí)別庫(kù))[1],具有易于使用的特點(diǎn)。它通過引入“函數(shù)驅(qū)動(dòng)層”,使源代碼具有硬件無關(guān)性,可實(shí)現(xiàn)對(duì)Matrox不同圖像采集卡以及不同CCD配置的操作和使用。在VC中調(diào)用圖像采集卡的圖像采集處理函數(shù),就可以做到集成性好,信息獲取直觀,編程方便,實(shí)現(xiàn)圖像采集任意存儲(chǔ)的目的。故軟件系統(tǒng)采用Windows XP操作系統(tǒng)作為系統(tǒng)軟件運(yùn)行平臺(tái),在Windows XP下,利用VC++語言編程[4-5]通過調(diào)用MIL庫(kù)函數(shù)實(shí)現(xiàn)圖像采集。
利用MIL庫(kù)首先必須分配一個(gè)應(yīng)用對(duì)象,相當(dāng)于創(chuàng)建一個(gè)圖像處理的控制和執(zhí)行環(huán)境,在應(yīng)用對(duì)象下可以建立多個(gè)系統(tǒng),一個(gè)系統(tǒng)下可以建立多個(gè)數(shù)據(jù)緩存、數(shù)字轉(zhuǎn)換器和數(shù)據(jù)顯示,將圖像文件讀入數(shù)據(jù)緩存,將緩存內(nèi)容放到指定的文件,這樣就可以實(shí)現(xiàn)圖像的任意存儲(chǔ)和顯示。其軟件組織結(jié)構(gòu)和流程圖如圖2所示。
圖2 系統(tǒng)軟件組織結(jié)構(gòu)圖Fig.2 Structure diagram of the software system
在建立程序框架之前,需要將圖像采集卡自帶的安裝程序解壓,再利用VC++的MFC應(yīng)用程序向?qū)啥辔臋n用戶操作界面[6],命名該工程為My。再將圖像采集卡文件夾里面的后綴名為.lib和.dll文件都復(fù)制到工程目錄下面,這里用添加靜態(tài)鏈接庫(kù)的方法調(diào)用MIL庫(kù)函數(shù)來實(shí)現(xiàn)的。用VC++6.0打開工程,在CMy.h中添加所需要的所有的頭文件,在Project->Settings->Link目錄下面的Category下面選擇Input選項(xiàng),然后將所有的.lib文件完全名稱寫入Object/Library Modules下面的編輯框中,再在下面的Additional Library Path中輸入..lib,點(diǎn)擊“OK”。這樣,才可以正確調(diào)用MIL庫(kù)函數(shù)。
在CMy.h頭文件中添加定義:
在CMy.cpp源文件中對(duì)系統(tǒng)進(jìn)行初始化:
在CMy.doc文件中的對(duì)MilImage進(jìn)行初始化:
圖3 軟件設(shè)計(jì)流程圖Fig.3 Flow chart of the software design
這里采用多線程編程[7]的方法通過外部的按鈕控制圖像采集的中斷與繼續(xù)。首先定義全局函數(shù)MilCreat來實(shí)現(xiàn)圖像采集中的臨時(shí)存放 buffer(MilImageContinuous[0],[1])的初始化。定義全局變量stop,初值為false(stop用來控制圖像的采集與停止,stop的初始值為true,若stop為false表示開始采集,stop為true表示停止采集)。設(shè)置圖像存儲(chǔ)路徑及名稱后,調(diào)用如下線程:
線程函數(shù)的核心實(shí)現(xiàn)是通過一個(gè)for循環(huán)來實(shí)現(xiàn),定義for(;;),循環(huán)結(jié)束事件為 stop=true。 實(shí)現(xiàn)如下:
這樣就可以實(shí)現(xiàn)圖像的實(shí)時(shí)顯示與存儲(chǔ)。根據(jù)不同的要求,也可以調(diào)用 Mil庫(kù)中的 MbufExportSequence()函數(shù)將連續(xù)采集中的圖像存儲(chǔ)到一個(gè)文件中形成AVI視頻流文件的格式,也可以存儲(chǔ)成.raw格式。采集到的圖像暫時(shí)存放在自己定義的buffer中,在保存到本地磁盤之前可以進(jìn)行實(shí)時(shí)圖像處理,也可以根據(jù)要求設(shè)置采集的時(shí)間和采集的幀數(shù)。
該測(cè)試系統(tǒng)用于某型航天項(xiàng)目實(shí)驗(yàn)室研制中的圖像采集處理應(yīng)用。使用時(shí),首先運(yùn)行該測(cè)試應(yīng)用軟件,初始化相關(guān)板卡后,然后通過點(diǎn)擊主程序界面的相應(yīng)的菜單測(cè)試按鈕進(jìn)行相應(yīng)的圖像采集處理功能。其中圖像實(shí)時(shí)實(shí)現(xiàn)部分在程序啟動(dòng)后中間空白部分就一直顯示CCD捕捉到的信息,但點(diǎn)擊實(shí)時(shí)存貯時(shí),圖像會(huì)存貯在預(yù)先設(shè)定的計(jì)算機(jī)中的相應(yīng)的目錄下面;點(diǎn)擊實(shí)時(shí)處理,可以調(diào)節(jié)圖像的開窗大小等。程序面板的部分界面如圖4所示。通過實(shí)驗(yàn)室應(yīng)用發(fā)現(xiàn),該測(cè)試系統(tǒng)測(cè)試結(jié)果準(zhǔn)確、穩(wěn)定可靠。
圖4 軟件界面圖Fig.4 Interface chart of the software
該采集系統(tǒng)采用Matrox Meteor-II/Digital圖像采集卡與計(jì)算機(jī)為硬件平臺(tái),軟件設(shè)計(jì)采用VC++軟件設(shè)計(jì)思想,提高了系統(tǒng)的可靠性和維護(hù)性。該測(cè)試系統(tǒng)已用于某航天項(xiàng)目實(shí)驗(yàn)室圖像采集,實(shí)際應(yīng)用表明該測(cè)試系統(tǒng)具有測(cè)試準(zhǔn)確、穩(wěn)定可靠、人機(jī)界面友好等特點(diǎn),達(dá)到了設(shè)計(jì)要求。
[1]Matrox Electronic Systems Ltd.Matrox Meteor-II/Digital installation and hardware reference[S].CANADA,2002.
[2]吉志宏,劉曉平.基于圖像卡的圖像采集處理系統(tǒng)開發(fā)[J].儀表技術(shù),2008(1):32-33,56.
JI Zhi-hong,LIU Xiao-ping.Development of image processing system based on image card[J].Instrumentation Technology,2008(1):32-33,56.
[3]關(guān)萍萍,翟正軍,姜紅梅,等.基于LabWindows/CVI測(cè)控系統(tǒng)通用報(bào)表的設(shè)計(jì)與實(shí)現(xiàn) [J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(1):203-205.
GUAN Ping-ping,ZHAI Zheng-jun,JIANG Hong-mei,et al.Design and implementation of universal control system report based on Labwindows/CVI[J].Computer Engineering and Design,2010,31(1):203-205.
[4]鄭莉,董源.C++語言程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2001.
[5]李雁妮,陳平,王獻(xiàn)青.C++程序設(shè)計(jì)語言[M].西安:西安電子科技大學(xué)出版社,2009
[6]黃維通.Visual C++面向?qū)ο笈c可視化程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2002.
[7]英特爾軟件學(xué)院教材編寫組.多核多線程技術(shù) [M].上海:上海交通大學(xué)出版社,2011.
The research on real-time image grabbing and processing system of matrox Meteor-Ⅱ/Digital image grabbing board
WANG Shuang1, HU Bing-liang1, LIU Cai-fang1,2, WANG Cai-ling3, QIAN Qing-ming1,2
(1.Xi’an Institute of Optics and Precision Mechanics of CAS,Xi’an710119,China;2.Graduate University of Chinese Academy of Sciences,Beijing100084,China;3.School of Computer Science,Xi’an Shiyou University,Xi’an710065,China)
In order to solve the problem that real-time image process can’t be done with Matrox Meteor-II/Digital Image Grabbing,an real-time image grab and process system based on the image grabbing board has been proposed.The design of the system and software have been finished.The hardware platform of the system is consisted of CCD,Matrox Meteor-II/Digital Image Grabbing board and computer.The software has been developed with multi-thread program of VC++based on Matrox Imaging Library to realize the function of real-time continuous image grabbing,each frame storing theory and real-time image processing.It has been proved that this system performs and runs well in laboratory.
image grabbing board;continuous image grabbing;each frame storing;grabandprocesssystem;multi-thread program
TP302
A
1674-6236(2012)03-0071-04
2011-12-13 稿件編號(hào):201112072
王 爽(1980—),男,陜西西安人,博士研究生,實(shí)習(xí)研究員。研究方向:信號(hào)與信息處理、光譜圖像處理。