唐婧壹
(山西機電職業(yè)技術(shù)學(xué)院,山西 長治 046011)
當(dāng)前在眾多工業(yè)企業(yè)監(jiān)控系統(tǒng)中,應(yīng)用最廣泛的一般是由PC 機、圖像采集卡以及CCD 攝像頭構(gòu)成的圖像處理采集系統(tǒng)。這種系統(tǒng)存在功耗高、結(jié)構(gòu)繁瑣,價格昂貴,體積大等眾多弊端。近幾年來,隨著微軟Vista操作系統(tǒng)面世,PC 用戶能夠使用Instant on 功能,給單片機發(fā)展提供了廣闊的前景,一種克服傳統(tǒng)圖像處理采集系統(tǒng)的諸多弊端的智能控制及智能處理功能的微型圖像處理采集系統(tǒng)成為研究的對象。本文是以TI 的單片機lm4f120h5qr 為處理器,以O(shè)V7670(帶FIFO)為圖像傳感器,以ILI9327 為顯示的圖像采集、處理與顯示的系統(tǒng)。由于該系統(tǒng)是智能小車循跡的基礎(chǔ),需要進行圖像處理。
(1)整體連接。根據(jù)數(shù)據(jù)手冊的管腳介紹和實際管腳分布情況,做出了攝像頭、LCD 與單片機的管腳連接,為了連接方便,加入轉(zhuǎn)接板。
(2)單片機。單片機lm4f120h5qr 是由TI 公司推出的32 位單片機:時鐘頻率高達(dá)80MHz,帶有Flash 存儲器,容量是256KB;采用ICDI 調(diào)試接口,Stellaris ICDI只支持通過JTAG 調(diào)試。安裝完ICDI 驅(qū)動后會在PC 上虛擬一個串口,用這個串口來輸出調(diào)試信息是很方便的,代碼通過ICDI 燒到板子中去。
(3)攝像頭:設(shè)計所選用的攝像頭Ov7670(fifo),其有效像素為640×480(即30W);所用的輸出格式為QVGA(240*320),在攝像頭內(nèi)部,裝設(shè)有一個fifo 芯片(AL422B),這個芯片的容量是384K 字節(jié),可以用來存儲圖像數(shù)據(jù),它的大小足夠用來存儲兩幀的QVGA 格式數(shù)據(jù)ov7670 模塊的自身就帶有源晶振,它可以產(chǎn)生12M時鐘信號,并以這個信號作為ov7670 時鐘信號的輸入做出了攝像頭與單片機的管腳分配和連接。如圖1 所示。
圖1 攝像頭與單片機的管腳分配和連接示意圖
(4)顯示屏:設(shè)計所選用的液晶顯示屏型號為FPC2667,它是TFT-LCD 液晶顯示屏中的一種,控制器為ili9327:像素為240RGB*432(設(shè)計中為240*320)GRAM 為233280字節(jié)支持18-/16-/9-/8-比特的數(shù)據(jù)總線接口,有8 位數(shù)據(jù)接口做出了LCD 與單片機的管腳連接。如圖2 所示。
(5)轉(zhuǎn)接板:在電腦主板生產(chǎn)時,需對PCI 這個功能測試,那么就一定需要一個PCI 卡插入主板的PCI 插槽。在長時間的插拔過程中,一定會對頻繁插入的PCI 設(shè)備卡產(chǎn)生磨損。這時,PCI PCB 轉(zhuǎn)接卡,就發(fā)揮其作用。有利的保護PCI 設(shè)備卡。本設(shè)計系統(tǒng)PCB 轉(zhuǎn)接板工藝圖如圖3 所示。
圖2 LCD 與單片機的管腳連接
(1)系統(tǒng)時鐘配置:系統(tǒng)時鐘由ST89C51 單片機、復(fù)位電路、晶振電路、外部中斷和顯示電路5 個模塊組成。其中以單片機模塊為核心模塊,主導(dǎo)其余四個模塊工作,1602 顯示模塊用來顯示秒、分、時計數(shù)單位中的值。實現(xiàn)電路的總體功能是通過AT89c51 單片機內(nèi)部的定時/計數(shù)器實施其實現(xiàn)過程是通過軟件延時輔助,對定時/計數(shù)器程序進行中斷定時,達(dá)到系統(tǒng)時鐘配置要求。
(2)初始化LCD:初始化LCD 就是初始化模塊的寄存器,通過寫入預(yù)設(shè)的數(shù)據(jù),對LCD 特性進行設(shè)置,在控制器的寄存器寫入預(yù)設(shè)的數(shù)據(jù)之前,首先對先復(fù)位一下控制端部的外部硬件。為使LCD 復(fù)位正確,要加個低電平的脈沖于LCD 模塊的復(fù)位端口。
(3)中斷初始化:系統(tǒng)采用了一個外部中斷,用它來捕捉VSYNC 同步信號,然后在中斷里邊啟動ov7670 這個模塊的圖像數(shù)據(jù)存儲,等到下次VSYNC 同步信號到來的時候,我們就關(guān)閉圖像數(shù)據(jù)的存儲,這樣的話,一幀圖像數(shù)據(jù)的存儲就完成了,這個時候,就可以在主函數(shù)里邊將這一幀數(shù)據(jù)讀取出來,傳送給單片機進行處理,同時,開始下一幀圖像數(shù)據(jù)的存儲就這樣往復(fù)循環(huán)。
(4)存儲讀取圖像數(shù)據(jù):系統(tǒng)選用MCLK 與SMCLK的時鐘源為XT2,實現(xiàn)各時鐘信號的同步,并且等待XT2晶振的起振,調(diào)用串口初始化函數(shù),完成串口初始化。接著,要調(diào)用攝像頭中斷初始化函數(shù)、攝像頭初始化函數(shù)、攝像頭寫復(fù)位函數(shù)、攝像頭圖像捕獲函數(shù)以及讀復(fù)位函數(shù),初始化攝像頭并且打開外部中斷,準(zhǔn)備捕獲圖像。然后進行存儲數(shù)據(jù)與讀取數(shù)據(jù)。如圖4 所示。
圖4 存儲讀取圖像數(shù)據(jù)示意圖
(5)圖像處理。為了兼顧算法的準(zhǔn)確性和快速性,我將在數(shù)碼管的七個部分上分別各取9 個點,存于數(shù)組中,去掉其中的最大和最小值,然后剩下的7 個點的Y值取平均值,如果大于設(shè)定的閾值,就判斷數(shù)碼管該部分為亮,如果小于設(shè)定的閾值,就判斷數(shù)碼管該部分為滅。依次判斷好數(shù)碼管7 個部分的亮滅情況后,匯總結(jié)果,就能得出數(shù)碼管顯示的數(shù)字是多少。9 個點,存于數(shù)組中,去掉其中的最大和最小值,然后剩下的7 個點的Y 值取平均值,如果大于設(shè)定的閾值,就判斷數(shù)碼管該部分為亮,如果小于設(shè)定的閾值,就判斷數(shù)碼管該部分為滅。依次判斷好數(shù)碼管的好壞。
(1)RGB 轉(zhuǎn)灰度色:對于彩色轉(zhuǎn)灰度,有一個很著名的心理學(xué)公式Gray =R*0.299+G*0.587+B*0.11。實際應(yīng)用時,希望避免低速的浮點運算,所以需要整數(shù)算法。注意到系數(shù)都是3 位精度的沒有,實現(xiàn)整數(shù)運算算法是通過將它們縮放1000 倍心理學(xué)公式完成,即Gray =(R*299+G*587+B*114+500)/1000。
(2)中值濾波:中值濾波是一種典型的低通濾波器,是較為理想的非線性濾波技術(shù),其特點是能夠較好地保護目標(biāo)圖像邊緣,可抑制脈沖噪聲,濾除尖波干擾噪聲。在對圖像進行操作時,可以按灰度等級目的把局部區(qū)域的像素排序,將灰度的中值設(shè)置為灰度值。其流程如下:首先通過在濾波模板漫游模式,把圖中某個像素位置與模板中心進行重合;然對讀取模板中各對應(yīng)像素的灰度值后自小到大進行排序;最后取中間數(shù)據(jù)加入相對應(yīng)模板像素中心位置。這樣就會對孤立的噪聲像素即椒鹽噪聲、脈沖噪聲具有良好的濾波效果。
(3)閾值分割:閾值分割法可分為與局部兩種模式。局部模式就是把原始圖像分成若干個劃分小圖像,然后對每一個子圖像進行閾值選取,可以改善分割效果,值得注意的是,在使用局部模式后,相互接觸的子圖像的邊沿處有時會出現(xiàn)邊不連續(xù)性灰度級,這種情況要使用平滑技術(shù)修復(fù)。局部模式一般用灰度差直方圖法與微分直方圖法進行操作。在實際操作中注意把握以下幾個兩點:首先所取舍的每一塊子圖像尺寸要適當(dāng),不可過大或者過小,以免影響統(tǒng)計結(jié)果;二是所取舍的每一塊子圖像是任意分割的,避免出現(xiàn)子圖像落在目標(biāo)或者背景區(qū)域的現(xiàn)象,避免出現(xiàn)分割值出現(xiàn)較大的誤差。局部模式的閾值法雖然效果較好,但需要對分割的對每個子圖像進行統(tǒng)計,操作相對較慢,難以滿足實時性的需求。
(4)提取骨架:圖像細(xì)化(骨架化)是進行圖像識別、線條類圖像目標(biāo)分析的重要手段。其基本步驟如下:讀取圖像文件—用graythreash 函數(shù)計算閾值—調(diào)用bwmorph 函數(shù)去除物體的邊界像素—其余像素組成圖像骨架并顯示。
全文以單片機攝像頭數(shù)據(jù)采集與處理為中心,設(shè)計了一種基于單片機圖像采集與處理的功能,包括攝像頭模塊經(jīng)平滑濾波,閾值分割,骨架提取等,并通過上位機軟件的編寫來顯示圖像。測量精度非常高,經(jīng)過測試實驗驗證了系統(tǒng)的可行性,為智能車循跡奠定了基礎(chǔ)。
[1]張晞,王德銀,張晨.MSP430 系列單片機實用C 語言程序設(shè)計[M].北京:人民郵電出版社,2005.
[2]沈建華,楊艷琴.MSP430 系列16 位超低功耗單片機原理與實踐[M].北京:北京航空航天大學(xué)出版社,2008.
[3]陸玲,周書民.?dāng)?shù)字圖像處理方法及程序設(shè)計[M].哈爾濱:哈爾濱工程大學(xué)出版社,2011.
[4]孫興華,郭麗.?dāng)?shù)字圖像處理編程框架、理論分析、實例應(yīng)用和源碼實現(xiàn)[M].北京:機械工業(yè)出版社,2012.