手動PCB外觀檢查機(jī)的圖像采集與拼接
3.1 基于AclivrMil的圖像采集程序
對Matrox圖像采集進(jìn)行圖像采集二次開發(fā)的通用軟件結(jié)構(gòu)如圖6所示。本文引用地址:http://www.ex-cimer.com/article/194983.htm
圖像采集程序的基本思路是:
1)打開通信通道,即確定一個應(yīng)用對象(Application),并對每個應(yīng)用對象創(chuàng)建一個或多個系統(tǒng)對象(System)。
2)初始化硬件資源,即為每個系統(tǒng)對象分配數(shù)據(jù)緩存(Data Buffer)、數(shù)據(jù)采集器(Digitizer)和數(shù)據(jù)顯示(Display)對象。
3)啟動采集過程,即將圖像讀入數(shù)據(jù)緩存,并將緩存賦值給數(shù)組,通過對數(shù)組的處理實(shí)現(xiàn)對圖像的處理,圖像數(shù)據(jù)與數(shù)據(jù)顯示相關(guān)聯(lián)后就可以通過顯示控件或窗體顯示預(yù)處理后的結(jié)果。
AetiveMIL可以讓開發(fā)者快速簡單地將一個圖像應(yīng)用程序和Windows用戶界面結(jié)合起來。應(yīng)用程序開發(fā)包含拖動和滾動工具放置以及加標(biāo)點(diǎn)和單擊配置,充分地減少代碼量。在.net framework3.0卡發(fā)環(huán)境下,安裝MIL開發(fā)包并正確配置后,Application、System、Image、ImageProcess、Display等組件將自動添加到工具欄。
開發(fā)者將所需用的控件拖拽到圖像采集窗體上,一個Application,對應(yīng)于單鏡頭手動外觀機(jī),一個System,單窗體顯示——一個Disp-laly,為了提高CPU使用率應(yīng)啟用雙緩存異步采集——兩個ImageBuffer,及一個ImageProcess。
3.2 雙緩存異步采集思想
Matrox MeteorII圖像采集卡支持同步和異步兩種采集方式。
同步采集方式適用于連續(xù)采集顯示圖像而不做運(yùn)算處理的情況,這是因?yàn)橥讲杉绞较?,在每次采集圖像之前,CPU都向采集卡發(fā)送采集同步信號,然后等待采集結(jié)束,所以在采集過程中CPU由于得不到圖像數(shù)據(jù)而只能處于等待狀態(tài)。由于CCD僅采集一幀圖像就需要40 ms左右,這與人的視覺滯留大致相當(dāng),所以在同步方式下無法保證采集和處理在40 ms內(nèi)完成,也就無法達(dá)到實(shí)時處理的要求。
異步采集方式下,采集工作和計算機(jī)對圖像的處理工作可以同時進(jìn)行,即當(dāng)CPU處理當(dāng)前幀的圖像時,CCD攝像機(jī)可以進(jìn)行下一幀的圖像采集。因此,在程序編制時,需要一個緩存機(jī)制用來緩存當(dāng)前已采集完成的圖像和緩存CCD攝像機(jī)將要采集或正在采集的圖像,從而實(shí)現(xiàn)圖像采集與處理的并行工作。顯然,利用這種雙緩存采集方法既可以降低對硬件系統(tǒng)的要求,還可以大大提高系統(tǒng)的處理速度,滿足實(shí)時處理的要求。
3.3 圖像采集代碼實(shí)現(xiàn)
評論