在圖像處理的嵌入式系統(tǒng)中,由于涉及機(jī)器視覺的處理分析,使得對圖像生成工具攝像頭的調(diào)試變得比較麻煩。 本文主要以HCS12作為主控芯片的攝像頭組小車調(diào)試為例對調(diào)試方法進(jìn)行介紹。
一、機(jī)器視覺簡介
機(jī)器視覺就是用機(jī)器代替人眼來對外部環(huán)境進(jìn)行感知并做出測量和判斷。通過成像器件(即圖像攝取裝置,分CMOS和CCD兩種)將被攝取目標(biāo)轉(zhuǎn)換成圖像信號,傳送給專用的圖像處理系統(tǒng),根據(jù)像素分布和亮度、顏色等信息,轉(zhuǎn)變成數(shù)字化信號;圖像系統(tǒng)對這些信號進(jìn)行各種運(yùn)算來抽取目標(biāo)的特征,進(jìn)而根據(jù)判別的結(jié)果來控制現(xiàn)場的設(shè)備動作。在一些對系統(tǒng)實(shí)時(shí)動作要求比較高的系統(tǒng)中,人的反應(yīng)速度和信息處理能力是無法滿足要求的,而機(jī)器視覺易于實(shí)現(xiàn)信息集成,和計(jì)算機(jī)控制系統(tǒng)相結(jié)合,可以提高系統(tǒng)的自動化程度。
二、攝像頭調(diào)試目的
在嵌入式系統(tǒng)中攝像頭調(diào)試的目的是使攝像頭的機(jī)械和電氣參數(shù)在滿足系統(tǒng)要求下能產(chǎn)生質(zhì)量最高的圖像數(shù)據(jù)。一個(gè)涉及硬件和軟件的成像系統(tǒng),成像的質(zhì)量好壞往往受到來自外界干擾和自身限制的很多因素的影響,這些影響會產(chǎn)生噪聲和成像不均勻。來自軟件層面的因素往往是算法的問題,這個(gè)層面的問題可以通過理論分析的數(shù)學(xué)計(jì)算解決,來自硬件層面的因素則而要用儀器進(jìn)行調(diào)試,通過實(shí)驗(yàn)測量分析才能解決,由于硬件處理系統(tǒng)底層,所以硬件的質(zhì)量會直接影響軟件的質(zhì)量,從而影響最終成像質(zhì)量。對攝像頭進(jìn)行調(diào)試就是要從硬件層面上盡量消除干擾。
三、攝像頭調(diào)試方法
由于嵌入式系統(tǒng)是一個(gè)比較廣的概念,所以本文以HCS12作為主控芯片的攝像頭組小車調(diào)試為例對調(diào)試方法進(jìn)行介紹。
(一)外部搭設(shè)電路連線CRT顯示器
從模擬攝像頭上引出電源、地、信號三根引線,對攝像頭供電,再將視頻信號線接到電視盒視頻輸入接口。電視盒的VGA-OUT接至CRT顯示器,從而實(shí)現(xiàn)CRT對經(jīng)數(shù)字化的攝像頭視覺進(jìn)行顯示。
此種方法為完全硬件層面顯示,提供和人眼視覺完全一樣的顯示效果,對攝像頭安裝和自身物理參數(shù)校正具有顯著幫助。
(二)片外擴(kuò)展LCD液晶
HCS12系列MCU中含有串行外設(shè)接口SPI(Serial Peripheral Interface),能實(shí)現(xiàn)MCU之間的數(shù)據(jù)傳輸,且其速度比通過串行異步通信(SCI)方式快。SPI模塊也支持MCU也外圍設(shè)備間的雙向、同步、串行通信,實(shí)現(xiàn)MCU的外設(shè)擴(kuò)展。
市場上諾基亞3310液晶價(jià)格低廉,成像基于二值點(diǎn)陣,顯示模塊為48*84個(gè)點(diǎn)列,對相關(guān)信息顯示表現(xiàn)為對相應(yīng)點(diǎn)寫入數(shù)據(jù)使其呈現(xiàn)不同顏色。
1.顯示字符在系統(tǒng)運(yùn)行時(shí)以字符形式提示系統(tǒng)相關(guān)運(yùn)行參數(shù)。每個(gè)字符占用點(diǎn)列8*6,需要6字節(jié)數(shù)據(jù),完成字符顯示只需在編程對指定位寫入相應(yīng)數(shù)據(jù)。由于該液晶模塊本身不帶有字庫,所以在程序開始時(shí)要先定義ASCⅡ表字符的液晶顯示點(diǎn)陣數(shù)據(jù),即一個(gè)大小為N*6字節(jié)的二維數(shù)組。
2.顯示圖片模擬攝像頭采集的視頻信號經(jīng)過MCU的A/D數(shù)字化后,信息存儲在一個(gè)40*70的二維數(shù)組中,再將數(shù)組二值化,便能在48*84分辨率的液晶模塊中顯示,使開發(fā)者實(shí)時(shí)對攝像頭機(jī)器視覺進(jìn)行觀測。
此種方法為硬件和軟件相結(jié)合的顯示方法,能實(shí)時(shí)跟蹤顯示攝像頭相關(guān)信息,顯示時(shí)不會打斷系統(tǒng)運(yùn)行流程。
(三)自寫串口通訊上位機(jī)軟件
利用MCU的SCI模塊發(fā)送圖片數(shù)據(jù)至PC機(jī),上位機(jī)利用MSCOMM控件編程對通訊數(shù)據(jù)進(jìn)行讀取。讀取數(shù)據(jù)后,便能利用windows程序強(qiáng)大的數(shù)據(jù)處理能力和圖片顯示能力對圖片數(shù)據(jù)處理,如:根據(jù)數(shù)據(jù)對圖片進(jìn)行重繪,對數(shù)組濾波分析并顯示濾波效果,將接收數(shù)組以文件形式導(dǎo)出為計(jì)算機(jī)仿真提供數(shù)據(jù)來源。
此種方法為完全軟件顯示法,只而要從MCU收到數(shù)據(jù),便能在PC機(jī)上實(shí)現(xiàn)一系列處理,對檢驗(yàn)圖形變換效果、濾波分析優(yōu)劣以及數(shù)據(jù)仿真思想都有著其它方法無法比擬的優(yōu)勢。
四、三種方法優(yōu)劣比較
1.CRT調(diào)視法。通過接入攝像頭視頻信號,CRT能高保真顯示機(jī)器視覺。但只能局限于對攝像頭參數(shù)測試和攝像頭機(jī)械位置調(diào)整,對高級點(diǎn)的數(shù)字信號就無能為力了。
2.LCD調(diào)試法。直接接在單片機(jī)SPI口上進(jìn)行數(shù)據(jù)傳輸,能實(shí)時(shí)刷新顯示圖片,此模塊可以直接搭載在系統(tǒng)上,實(shí)時(shí)顯示系統(tǒng)相關(guān)信息。但由于模塊分辨率限制,只能顯示黑白二值,造成數(shù)字圖片失真。
3.串口調(diào)試法。能充分利用PC機(jī)強(qiáng)大的數(shù)據(jù)處理和圖片顯示功能,能實(shí)現(xiàn)數(shù)字圖片高精度像素點(diǎn)顯示,并導(dǎo)出灰度數(shù)值表,為VC,MATLAB仿真提供現(xiàn)場數(shù)據(jù)。但PC和MCU間數(shù)據(jù)傳輸速度太慢,缺乏實(shí)時(shí)性,缺乏動態(tài)跟蹤的優(yōu)點(diǎn)。
五、結(jié)束語
三種攝像頭調(diào)試方法各有優(yōu)劣,但相互結(jié)合便能在系統(tǒng)設(shè)計(jì)的不同階段實(shí)現(xiàn)功能互補(bǔ)。機(jī)器視覺屬于當(dāng)今工業(yè)自動化領(lǐng)域一個(gè)比較新的領(lǐng)域,在開發(fā)的過程中必然會為斷涌現(xiàn)出各種優(yōu)秀的調(diào)試方法,本文僅結(jié)合作者經(jīng)歷提出三種成本低廉,可行性高的方法,希望對廣大嵌入式開發(fā)者會有所幫助。