張歡歡,魏世民
(北京郵電大學 自動化學院,北京 100876)
傳統(tǒng)基于PC 機的圖像處理系統(tǒng)體積龐大,不具有便攜性;桌面操作系統(tǒng)不具有實時性。傳統(tǒng)圖像處理實現(xiàn)方法越來越不能滿足圖像應用實時性和小型化的要求[1]。嵌入式系統(tǒng)與其相比具有體積小、成本低、可靠性高等優(yōu)點,在智能交通、遠距離監(jiān)控、計算機視覺等領域應用廣泛[2]。本系統(tǒng)采用由廣州友善之臂計算機科技有限公司開發(fā)的Tiny6410 開發(fā)平臺,根據(jù)系統(tǒng)的功能需要對其硬件資源進行裁剪,并在報警系統(tǒng)中加入紅綠LED指示燈硬件部分。該帶有報警功能的圖像處理系統(tǒng),結構緊湊,實時性好。
圖像采集系統(tǒng)主要分為兩部分:圖像采集部分和圖像處理部分(可以計為前端部分和后端部分)。圖像采集基本框架[3]如圖1所示。
本系統(tǒng)采用通用接口USB 攝像頭,Tiny6410 底板中保留USB 接口,用于連接USB 攝像頭。USB 攝像頭能夠直接獲取圖像,然后傳至ARM 核處理。
圖1 圖像采集基本框圖Fig.1 Image acquisition basic framework
一種嵌入式圖像處理系統(tǒng)及報警系統(tǒng),主要由硬件平臺、Linux 嵌入式操作系統(tǒng)、軟件設計三部分組成。而本文重點設計硬件平臺。圖2 是該系統(tǒng)的總體結構框圖。其中硬件平臺主要包括友善之臂公司的ARM11 Tiny6410 核心板、電源模塊、實時時鐘模塊、RS232 串口模塊、 以太網模塊、USB Host 接口模塊、SD Card 模塊、蜂鳴器模塊、LED 模塊以及圖像采集模塊。
圖2 圖像處理與報警系統(tǒng)硬件總體結構框圖Fig.2 The hardware architecture diagram of image processing and alarm system
Tiny6410 是一款以ARM11 芯片(三星S3C6410)作為主處理其的嵌入式核心板,該CPU 基于ARM1176JZF-S核設計,內部集成了強大的多媒體處理單元。Tiny6410采用高密度6 層板設計,它集成了128M/256M DDR RAM,SLC NAND Flash(256M/1GB)或 MLC NAND Flash(2GB)存儲器,采用5V 供電,在板實現(xiàn)CPU 必須的各種核心電壓轉換,還帶有專業(yè)復位芯片,通過2.0mm 間距的排針,引出各種常見的接口資源,以供不打算自行設計CPU 板的開發(fā)者進行快捷的二次開發(fā)使用。直接利用Tiny6410核心板,節(jié)省了二次開發(fā)的時間,并且價格便宜。
攝像頭根據(jù)工作原理分為模擬攝像頭和數(shù)字攝像頭。由于數(shù)字攝像頭可以直接捕捉影像,然后通過串口、并口或USB 接口傳到計算機或ARM 等主控板進行處理,已成為攝像頭的主流,因此本文選用數(shù)字攝像頭。數(shù)字攝像頭連接方式有接口卡、并口和USB 接口。由于一般主板都支持USB 連接方式,方便、擴充能力強、傳輸速度快,有些USB 能提供電源,可以省略外接電源。再者Linux 操作系統(tǒng)提供了免驅的萬能USB 攝像頭驅動,可以直接利用,免去了寫驅動接口的麻煩。
Tiny6410 開發(fā)板采用5V 直流電源供電,提供了兩個電源輸入口,裁剪后的系統(tǒng)保留了這兩個電源輸入口,為整個硬件系統(tǒng)供電。其中CN1為附帶的5V 電源適配器插座,S2為電源開關,CON1為4Pin 插座, 方便板子放入封閉機箱時連接電源。
RTC 模塊: RTC(Real-Time Clock)實時時鐘, 可掉電保存時間。RTC Battery 模塊斷電時為系統(tǒng)時鐘供電。
通信模塊包括RS232 串口模塊和以太網模塊。RS232 模塊采用MAX3232 作為電平轉換芯片, 同S3C6410的UART 接口連接,實現(xiàn)RS232 傳輸。 以太網模塊采用了DM9000 網卡芯片,它可自適應10/100M 網絡,RJ45 連接頭內部已經包含了耦合線圈,因此不必另外連接網絡變壓器,使用普通的網線即可連接本硬件系統(tǒng)至PC 機。
SD 卡模塊主要起到兩個作用,一個是實現(xiàn)圖像的存儲,另一個是實現(xiàn)嵌入式系統(tǒng)的安裝。6410 支持SD卡啟動這一特性,利用友善之臂研制的Superboot,把目標文件拷貝到SD 卡(可支持高達32G的高速大容量卡),可以在開發(fā)板上極快速簡單自動地安裝各種嵌入式系統(tǒng),甚至無需燒寫,就可以在SD 卡上直接運行它們。
報警模塊包括蜂鳴器模塊和LED 燈模塊。正常狀態(tài)下蜂鳴器不發(fā)出聲音,LED 燈綠燈亮。當系統(tǒng)異常,或圖像處理結果異常時,LED 紅燈亮,并且蜂鳴器發(fā)出聲音,實現(xiàn)報警功能。
本文以硬件設計為主要對象,對于圖像處理算法并未過多深入的研究。但為了驗證硬件系統(tǒng)的可行性及可靠性,利用常用的圖像處理算法來驗證。圖像處理主要分為圖像增強和圖像模糊處理兩大部分,其中圖像增強又包括直方圖均衡化、圖像灰度化、圖像平滑、濾波等方法。如果要進行圖像處理,首先要進行圖像的灰度化,以便繼續(xù)進行圖像的分割處理??梢越M合使用屏蔽字和位移操作來得到RGB 各分量值[4]。
圖像增強,作用是增強圖像中的有用信息,消弱干擾和噪聲[5]。下面以顏色的提取與增強為例,設計了其程序實現(xiàn)流程。顏色提取流程如圖3所示。
圖3 顏色提取程序流程圖Fig.3 The program flow chart of color extraction
圖4 軟件總體框圖Fig.4 The overall block diagram of software
圖5 圖像處理任務流程圖Fig.5 The overall flowchart of image processing task
本系統(tǒng)的軟件部分主要分為系統(tǒng)軟件和應用軟件。系統(tǒng)軟件即嵌入式系統(tǒng)軟件,ARM11 Tiny6410 開發(fā)板支持Linux、WindowsCE、Android、Ubuntu 等嵌入式操作系統(tǒng)。根據(jù)Linux的開源性、多用戶、多任務、支持多平臺等特性,本文選擇Linux 嵌入式操作系統(tǒng)。應用軟件即為圖像處理算法部分。軟件部分總體框圖如圖4所示。
根據(jù)圖像處理常用算法在Linux 操作系統(tǒng)中進行實現(xiàn),將各個算法模塊化,變成可調用的函數(shù),將圖像處理編成一個獨立的任務,定時處理采集到的圖像數(shù)據(jù)。圖像處理任務的流程如圖5所示。
本文主要介紹了對廣州友善之臂有限公司開發(fā)的ARM11 Tiny6410 開發(fā)板進行裁剪,并加入報警模塊,實現(xiàn)了基于ARM的圖像處理與報警系統(tǒng)。另外本文對于硬件系統(tǒng)各構成模塊的功能原理進行了詳細的描述,對軟件部分給出了總體的設計流程。與傳統(tǒng)的圖像處理卡相比,基于ARM的嵌入式圖像處理系統(tǒng)極大的簡化了系統(tǒng)結構,降低了系統(tǒng)的設計成本,縮短了系統(tǒng)的開發(fā)周期,并提高了系統(tǒng)的可靠性。
[1]楊會麗.基于嵌入式系統(tǒng)的圖像處理平臺的設計[D].河北:河北科技大學,2009.
[2]林文森,李鐘慎,洪健.基于RAM 嵌入式圖像處理系統(tǒng)設計與實現(xiàn)[J].福州大學學報,2008,36.
[3]武穎.基于DSP的圖像采集與處理系統(tǒng)的設計[D].哈爾濱:哈爾濱工程大學,2009.
[4]馬俊青,宋愛國,甘英俊.一種基于ARM的圖像處理系統(tǒng)的設計[J].電氣電子教學學報,2009,4.
[5]莊劍毅,林穎.基于ARM 和圖像處理的刀片分揀系統(tǒng)[J].機械與電子,2011,11.