摘 要:介紹一種應用到星座相對運動的跟蹤上的基于面陣CCD圖像傳感器和計算機技術對運動物體的實時位置進行非接觸測量的原理和方法。采用計算機控制面陣CCD捕獲圖像并進行處理,通過Visual C++語言實現(xiàn)圖像的實時顯示,并將得到的結果由串口輸出到單片機控制步進電機進行跟蹤。在系統(tǒng)中創(chuàng)新地通過采用多線程以及非阻塞通信處理技術,提高系統(tǒng)運行效率,實驗證明該跟蹤方法的有效性。
關鍵詞:非接觸測量;面陣CCD;實時處理;運動目標檢測;多線程
中圖分類號:TP212文獻標識碼:A文章編號:1004373X(2008)2018603
Study on the Location of Motional Object Based on Matrix CCD
WANG Yuhong,F(xiàn)ENG Weizhong,WANG Fang
(Department of Electronic Engineering,Nanjing Forestry University,Nanjing,210037,China)
Abstract:This paper introduces the principle and a method for real-time non-contact measurement of motional object with matrix CCD imagine sensor and computer technology to apply it to the constellation relative motion′s tracking.Its software is controlled by computer in order to realize the data capturing and processing,the image data is real-time displayed by Visual C++,and then outputs the results by COM interface to single chip computerto control the stepping motor to track the object.In this system,by using multi-thread treatment and non-blocking communication technology innovative to improve the efficiency,the experiment indicates this tracking method is validity.
Keywords:non-contact measurement;matrix CCD;real-time processing;motional object detecting;multi-thread
1 引 言
CCD(Charge Coupled Devices,電荷耦合器件)是20世紀70年代初發(fā)展起來的新型半導體集成光電器件[1]。由于CCD器件具有諸多優(yōu)點,使得近30年來,CCD器件及其應用技術的研究取得了驚人的進展。目前國內利用CCD進行工業(yè)實時在線檢測的系統(tǒng)大多用線陣CCD,精度不高、結構復雜、重量重、體積大、建造成本高、整體結構松散、數(shù)據(jù)量增大處理運算麻煩等,而面陣CCD光敏呈二維排列,可以將二維平面圖像直接轉換為一維光電信號輸出,為提高采樣精度和簡化結構提供了條件。隨著計算機技術的飛速發(fā)展以及動態(tài)圖像處理理論的深入研究,采用面陣CCD圖像傳感器對運動目標進行監(jiān)測成為測量領域的一種新的趨勢[2],尤其在航天通信系統(tǒng)中,跟蹤與數(shù)據(jù)的獲取是為星座相對運動之間提供數(shù)據(jù)信息、連續(xù)跟蹤與軌道精確測控服務的。
通過星座仿真可以得出,星座的相對運動的特點,應用面陣CCD來完成星座的相對運動的跟蹤是一種新的跟蹤方法,它使硬件變得簡單,大部分數(shù)據(jù)處理都由軟件來實現(xiàn),使得跟蹤達到速度與精度的完美結合。本文旨在用2個氣浮臺來模擬星座的相對運動。以目標氣浮臺上的光學反射球作為跟蹤目標,位于追蹤氣浮臺上的面陣CCD用來實時測得包含運動目標的圖像信息傳送到計算機;再由計算機進行處理得到運動目標位置信息、相對距離和方位;把測得的數(shù)據(jù)由串口輸出給控制單元,進行精確的測量從而實現(xiàn)檢測跟蹤的目的,模擬跟蹤如圖1所示。
圖1 模擬跟蹤圖
2 系統(tǒng)工作原理
(1) 系統(tǒng)組成框圖
本系統(tǒng)中主要由采集部分、處理部分、顯示部分和控制部分組成,系統(tǒng)組成的框圖如圖2所示。
(2) 面陣CCD傳感器工作原理
面陣CCD由成像區(qū)(光敏區(qū))、暫存區(qū)和水平讀出寄存器3部分構成。當工作時,圖像經(jīng)物鏡成像到光敏區(qū),光敏區(qū)上電極加有適當?shù)钠珘簳r,光生電荷被收集到勢阱里,這樣就將光學圖像變成了電信號。當光積分周期結束時,所有收集到的信號電荷迅速轉移到暫存區(qū)中,然后經(jīng)由水平讀出寄存器,經(jīng)輸出級逐行輸出1幀信息。在第一幀讀出的同時,第二幀信息通過光積分又收集到勢阱中,這樣可以一幀一幀連續(xù)讀出[3]。
本文采用北京微視公司MVC1000M系列具有130萬像素的面陣CCD傳感器[4],如圖3所示的實物圖。
圖2 系統(tǒng)組成框圖
圖3 MVC1000M攝像機實物圖
3 圖像處理單元
(1) 圖像的預處理
為提高圖像處理速度采用一種快速中值濾波的算法[5],設n×n個像素方形濾波窗口為:
X11X12…X1n
X21X22…X2n
…………
Xn1Xn2…Xnn
該方法可表示為:
Gk=Med{Xk1,Xk2,…,Xkn},
Gk=Med{G1,G2,…,Gn}
其中k=1,2,…,n。
n×n 方形窗口進行1次中值濾波需要進行12n2·(n2-1)次排隊比較運算;同樣窗口進行1次快速快速中值濾波只需進行12n(n2-1)次運算,運算次數(shù)減少為原來的1n??焖僦兄禐V波雖然是將二維陣列分解為一維運算,但由于它是首先求取水平各行的中值,再取出這些水平各行中值的中值,濾波結果中既包含窗口中的行信息,又包含列信息。因此,這種用多次一維中值濾波代替二維中值濾波的處理技術是合理的。
(2) 特征提取及位置的確定
為了進一步對圖像做分析和識別,就必須通過對圖像中的物體(目標)做定性或定量分析來得出正確的結論。在本系統(tǒng)中,由于目標是處于運動中,所采集到的目標圖像會有不同程度的改變,另外,在目標跟蹤系統(tǒng)中,通常只需辨明目標的類型,并不需要了解有關運動目標圖像中更多的細節(jié)。
因為要給出目標點的位置,所以每張圖像上的物體最終只能用1個點來表示,這個點就是物體的中心點,在圖形學上稱為圖形的幾何中心。確定物體的幾何中心,只需掃描整張圖像,尋找顏色是白色點,記錄它們的橫坐標和縱坐標,并做累加,同時累加白色點的個數(shù),最后把累加得到的橫坐標的值除以白色點個數(shù)后,得到的值就是物體中心點的橫坐標數(shù)值,縱坐標也是如此[6]。其算法表示如下:
Sx=∑Xmaxx=0∑Ymaxy=0x·f(x,y),
Sy=∑Xmaxx=0∑Ymaxy=0y·f(x,y)
S=∑Xmaxx=0∑Ymaxy=0f(x,y),
x=SxS,y=SyS
一般,這樣得到物體的幾何中心還是比較準確的,除非物體在運動過程中發(fā)生了非常大的形變。得到的質心是運動物體在圖像中的像素坐標,轉換成實際坐標從而達到對運動目標的實時監(jiān)測。
4 軟件設計
CCD采集獲得的圖像為8位位圖格式,本文采用可視化編程軟件VC++實現(xiàn)圖像預覽以及處理[7]。處理后的數(shù)據(jù)經(jīng)串口輸出給控制部分。計算機的程序流程圖如圖4所示。
面陣CCD采集到的圖像經(jīng)處理提取后,得如圖5所示其實時圖像,并提取跟蹤目標的坐標,圖像每過100 ms數(shù)據(jù)處理1次,并與下位機進行通信進行控制。
在串口通信模塊軟件實現(xiàn)中使用API函數(shù)結合非阻塞通信、多線程等手段;在主線程中處理圖像數(shù)據(jù),在輔助線程中監(jiān)視串口,有數(shù)據(jù)到達時依靠事件驅動,讀入數(shù)據(jù)并向主線程報告,并且WaitCommEvent(),ReadFile(),WriteFile()都使用了非阻塞通信技術,依靠重疊(overlapped)讀寫操作,讓串口讀寫操作在后臺運行。這樣做大大節(jié)省了時間,提高了系統(tǒng)的運行效率[8]。
5 硬件設計
計算機通過RS 232的方式與單片機進行通信,將測得的位置信息傳送給單片機,單片機收到數(shù)據(jù)后控制步進電機進行跟蹤[8]。其主要包括下位機與上位機的通信,以及步進電機的驅動電路的設計,硬件控制的框圖如圖6所示。
圖4 計算機程序流程圖
圖5 調試時的運行界面
6 結 語
本文通過面陣CCD對圖像采集,結合計算機數(shù)字圖像處理技術以及單片機,實現(xiàn)了對數(shù)據(jù)圖像的掃描處理,從而獲得了跟蹤點的目標位置及對掃描的圖像進行實時動態(tài)的顯示以及跟蹤。在軟件設計中使用了快速中值濾波和多線程技術使得在實際使用中能夠達到實時準確的目標,為提高非接觸位置測量方面的理論研究、測量技術及工程設計的水平將有很大的幫助。隨著CCD傳感器制作技術的提高,圖像處理軟件的進一步發(fā)展,CCD傳感器與集成電路進一步集成,面陣CCD傳感器的應用前景將更加廣闊, 其應用的領域將深入到每一個相關的專業(yè)領域,將給人們帶來新的概念[9]。
圖6 硬件控制部分
參考文獻
[1]王慶有,孫學珠.CCD應用技術\\.天津:天津大學出版社,2002.
[2]Zhang Ye,Wang Wensheng,Guo Yangxue.Non-contact and Automatic Measurement of 2D Size with CCD Matrix and Computer System.Semiconductor Photonics and technology,2003,9(3).
[3]劉瑛,張寶峰.面陣CCD在視覺測量中的應用\\.天津理工大學學報,2005,21(6):52-54.
[4]北京微視新紀元科技有限公司.北京微視MVC1000M系列攝像頭產(chǎn)品開發(fā)手冊\\.2007.
[5]王春平,朱元昌,董淑棠,等.基于DSP的電視跟蹤系統(tǒng)算法設計\\.軍械工程學院學報,1999,11(2):33-39.
[6]李強,楊濤.形心和匹配跟蹤算法的改進\\.光電工程,2000,27(2):28-30.
[7]Jeff Prosise.MFC Windows 程序設計\\.北京:清華大學出版社,2006.
[8]王曉明.電動機的單片機控制[M].北京:北京航空航天大學出版社,2002.
[9][日]米本和也.CCD/CMOS圖像傳感器基礎與應用\\.陳榕庭,彭美柱,譯.北京:科學出版社,2006.
[10]戴大蒙.基于非阻塞式Winsock的多線程網(wǎng)絡通信機制\\.計算機工程,2006,32(6):137-138,142.
作者簡介 王玉紅 女,1979年出生,碩士研究生。研究方向為測控技術。
封維忠 男,1950年出生,副教授,碩士生導師。研究方向為電子測試測量技術。
王 芳 女,1984年出生,碩士研究生。研究方向為信號與信息處理。
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文