基于面陣CCD的運(yùn)動(dòng)物體瞬時(shí)位置的檢測(cè)
引 言
CCD(Charge Coupled Devices,電荷耦合器件)是20世紀(jì)70年代初發(fā)展起來(lái)的新型半導(dǎo)體集成光電器件。由于CCD器件具有諸多優(yōu)點(diǎn),使得近30年來(lái),CCD器件及其應(yīng)用技術(shù)的研究取得了驚人的進(jìn)展。目前國(guó)內(nèi)利用CCD進(jìn)行工業(yè)實(shí)時(shí)在線檢測(cè)的系統(tǒng)大多用線陣CCD,精度不高、結(jié)構(gòu)復(fù)雜、重量重、體積大、建造成本高、整體結(jié)構(gòu)松散、數(shù)據(jù)量增大處理運(yùn)算麻煩等,而面陣CCD光敏呈二維排列,可以將二維平面圖像直接轉(zhuǎn)換為一維光電信號(hào)輸出,為提高采樣精度和簡(jiǎn)化結(jié)構(gòu)提供了條件。隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展以及動(dòng)態(tài)圖像處理理論的深入研究,采用面陣CCD圖像傳感器對(duì)運(yùn)動(dòng)目標(biāo)進(jìn)行監(jiān)測(cè)成為測(cè)量領(lǐng)域的一種新的趨勢(shì),尤其在航天通信系統(tǒng)中,跟蹤與數(shù)據(jù)的獲取是為星座相對(duì)運(yùn)動(dòng)之間提供數(shù)據(jù)信息、連續(xù)跟蹤與軌道精確測(cè)控服務(wù)的。
通過(guò)星座仿真可以得出,星座的相對(duì)運(yùn)動(dòng)的特點(diǎn),應(yīng)用面陣CCD來(lái)完成星座的相對(duì)運(yùn)動(dòng)的跟蹤是一種新的跟蹤方法,它使硬件變得簡(jiǎn)單,大部分?jǐn)?shù)據(jù)處理都由軟件來(lái)實(shí)現(xiàn),使得跟蹤達(dá)到速度與精度的完美結(jié)合。本文旨在用2個(gè)氣浮臺(tái)來(lái)模擬星座的相對(duì)運(yùn)動(dòng)。以目標(biāo)氣浮臺(tái)上的光學(xué)反射球作為跟蹤目標(biāo),位于追蹤氣浮臺(tái)上的面陣CCD用來(lái)實(shí)時(shí)測(cè)得包含運(yùn)動(dòng)目標(biāo)的圖像信息傳送到計(jì)算機(jī);再由計(jì)算機(jī)進(jìn)行處理得到運(yùn)動(dòng)目標(biāo)位置信息、相對(duì)距離和方位;把測(cè)得的數(shù)據(jù)由串口輸出給控制單元,進(jìn)行精確的測(cè)量從而實(shí)現(xiàn)檢測(cè)跟蹤的目的,模擬跟蹤如圖1所示。
2 系統(tǒng)工作原理
(1)系統(tǒng)組成框圖
本系統(tǒng)中主要由采集部分、處理部分、顯示部分和控制部分組成,系統(tǒng)組成的框圖如圖2所示。
(2)面陣CCD傳感器工作原理
面陣CCD由成像區(qū)(光敏區(qū))、暫存區(qū)和水平讀出寄存器3部分構(gòu)成。當(dāng)工作時(shí),圖像經(jīng)物鏡成像到光敏區(qū),光敏區(qū)上電極加有適當(dāng)?shù)钠珘簳r(shí),光生電荷被收集到勢(shì)阱里,這樣就將光學(xué)圖像變成了電信號(hào)。當(dāng)光積分周期結(jié)束時(shí),所有收集到的信號(hào)電荷迅速轉(zhuǎn)移到暫存區(qū)中,然后經(jīng)由水平讀出寄存器,經(jīng)輸出級(jí)逐行輸出1幀信息。在第一幀讀出的同時(shí),第二幀信息通過(guò)光積分又收集到勢(shì)阱中,這樣可以一幀一幀連續(xù)讀出。
本文采用北京微視公司MVC1000M系列具有130萬(wàn)像素的面陣CCD傳感器,如圖3所示的實(shí)物圖。
3 圖像處理單元
(1)圖像的預(yù)處理
為提高圖像處理速度采用一種快速中值濾波的算法,設(shè)n×n個(gè)像素方形濾波窗口為:
(2)特征提取及位置的確定
為了進(jìn)一步對(duì)圖像做分析和識(shí)別,就必須通過(guò)對(duì)圖像中的物體(目標(biāo))做定性或定量分析來(lái)得出正確的結(jié)論。在本系統(tǒng)中,由于目標(biāo)是處于運(yùn)動(dòng)中,所采集到的目標(biāo)圖像會(huì)有不同程度的改變,另外,在目標(biāo)跟蹤系統(tǒng)中,通常只需辨明目標(biāo)的類型,并不需要了解有關(guān)運(yùn)動(dòng)目標(biāo)圖像中更多的細(xì)節(jié)。
因?yàn)橐o出目標(biāo)點(diǎn)的位置,所以每張圖像上的物體最終只能用1個(gè)點(diǎn)來(lái)表示,這個(gè)點(diǎn)就是物體的中心點(diǎn),在圖形學(xué)上稱為圖形的幾何中心。確定物體的幾何中心,只需掃描整張圖像,尋找顏色是白色點(diǎn),記錄它們的橫坐標(biāo)和縱坐標(biāo),并做累加,同時(shí)累加白色點(diǎn)的個(gè)數(shù),最后把累加得到的橫坐標(biāo)的值除以白色點(diǎn)個(gè)數(shù)后,得到的值就是物體中心點(diǎn)的橫坐標(biāo)數(shù)值,縱坐標(biāo)也是如此。其算法表示如下:
一般,這樣得到物體的幾何中心還是比較準(zhǔn)確的,除非物體在運(yùn)動(dòng)過(guò)程中發(fā)生了非常大的形變。得到的質(zhì)心是運(yùn)動(dòng)物體在圖像中的像素坐標(biāo),轉(zhuǎn)換成實(shí)際坐標(biāo)從而達(dá)到對(duì)運(yùn)動(dòng)目標(biāo)的實(shí)時(shí)監(jiān)測(cè)。
4 軟件設(shè)計(jì)
CCD采集獲得的圖像為8位位圖格式,本文采用可視化編程軟件VC++實(shí)現(xiàn)圖像預(yù)覽以及處理。處理后的數(shù)據(jù)經(jīng)串口輸出給控制部分。計(jì)算機(jī)的程序流程圖如圖4所示。
面陣CCD采集到的圖像經(jīng)處理提取后,得如圖5所示其實(shí)時(shí)圖像,并提取跟蹤目標(biāo)的坐標(biāo),圖像每過(guò)100 ms數(shù)據(jù)處理1次,并與下位機(jī)進(jìn)行通信進(jìn)行控制。
在串口通信模塊軟件實(shí)現(xiàn)中使用API函數(shù)結(jié)合非阻塞通信、多線程等手段;在主線程中處理圖像數(shù)據(jù),在輔助線程中監(jiān)視串口,有數(shù)據(jù)到達(dá)時(shí)依靠事件驅(qū)動(dòng),讀人數(shù)據(jù)并向主線程報(bào)告,并且WaitCommEvent(),ReadFile(),WriteFile()都使用了非阻塞通信技術(shù),依靠重疊(overlapped)讀寫操作,讓串口讀寫操作在后臺(tái)運(yùn)行。這樣做大大節(jié)省了時(shí)間,提高了系統(tǒng)的運(yùn)行效率。
5 硬件設(shè)計(jì)
計(jì)算機(jī)通過(guò)RS 232的方式與單片機(jī)進(jìn)行通信,將測(cè)得的位置信息傳送給單片機(jī),單片機(jī)收到數(shù)據(jù)后控制步進(jìn)電機(jī)進(jìn)行跟蹤。其主要包括下位機(jī)與上位機(jī)的通信,以及步進(jìn)電機(jī)的驅(qū)動(dòng)電路的設(shè)計(jì),硬件控制的框圖如圖6所示。
6 結(jié)語(yǔ)
本文通過(guò)面陣CCD對(duì)圖像采集,結(jié)合計(jì)算機(jī)數(shù)字圖像處理技術(shù)以及單片機(jī),實(shí)現(xiàn)了對(duì)數(shù)據(jù)圖像的掃描處理,從而獲得了跟蹤點(diǎn)的目標(biāo)位置及對(duì)掃描的圖像進(jìn)行實(shí)時(shí)動(dòng)態(tài)的顯示以及跟蹤。在軟件設(shè)計(jì)中使用了快速中值濾波和多線程技術(shù)使得在實(shí)際使用中能夠達(dá)到實(shí)時(shí)準(zhǔn)確的目標(biāo),為提高非接觸位置測(cè)量方面的理論研究、測(cè)量技術(shù)及工程設(shè)計(jì)的水平將有很大的幫助。隨著CCD傳感器制作技術(shù)的提高,圖像處理軟件的進(jìn)一步發(fā)展,CCD傳感器與集成電路進(jìn)一步集成,面陣CCD傳感器的應(yīng)用前景將更加廣闊,其應(yīng)用的領(lǐng)域?qū)⑸钊氲矫恳粋€(gè)相關(guān)的專業(yè)領(lǐng)域,將給人們帶來(lái)新的概念。