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