基于DSP的嵌入式智能相機(jī)的研究
摘要:智能相機(jī)是一種小型的視覺(jué)檢測(cè)系統(tǒng),主要運(yùn)用于工況監(jiān)視,產(chǎn)品檢驗(yàn)和質(zhì)量監(jiān)控等領(lǐng)域,能夠提高生產(chǎn)制造的柔性和自動(dòng)化程度。與傳統(tǒng)的PC式視覺(jué)系統(tǒng)相比,它具有易學(xué)、易用、易維護(hù)、易安裝等特點(diǎn)。在此主要是提出了一種嵌入式智能相機(jī)的設(shè)計(jì)方案,它是以ADSP-BF537為系統(tǒng)控制核心,以CMOS傳感器為圖像采集裝置,結(jié)合Oscar軟件框架和OpenCV進(jìn)行軟件設(shè)計(jì)。最后通過(guò)一個(gè)檢測(cè)條形碼的應(yīng)用來(lái)說(shuō)明研究出來(lái)的智能相機(jī)的可行性,并且通過(guò)實(shí)驗(yàn)數(shù)據(jù)來(lái)說(shuō)明智能相機(jī)運(yùn)行速度和工作效率。
關(guān)健詞:智能相機(jī);ADSP-BF537;Oscar;OpenCV
0 引言
目前,國(guó)內(nèi)智能相機(jī)的開發(fā)還是處于起步階段,但是它卻在現(xiàn)實(shí)中擁有廣泛的應(yīng)用。典型的機(jī)器視覺(jué)系統(tǒng)是一般由光源、CCD或CMOS相機(jī)、圖像采集卡、圖像處理軟件及一臺(tái)PC機(jī)構(gòu)成。其中,圖像的采集功能由CCD/CMOS相機(jī)及圖像采集卡完成;圖像的處理則是在圖像采集/處理卡的支持下,由軟件在PC機(jī)上完成。由于基于PC機(jī)的機(jī)器視覺(jué)體積龐大、結(jié)構(gòu)復(fù)雜,其應(yīng)用系統(tǒng)的開發(fā)周期長(zhǎng)、成本高,因此智能相機(jī)就應(yīng)運(yùn)而生。本文提出了一種基于ADSP-BF537嵌入式智能相機(jī)的設(shè)計(jì)方案,使它能夠達(dá)到機(jī)器視覺(jué)檢測(cè)低成本,高速率,高精度,易操作,小體積的目的。
1 硬件平臺(tái)設(shè)計(jì)
嵌入式智能相機(jī)是一個(gè)微小的視覺(jué)檢測(cè)系統(tǒng),包含圖像采集裝置、圖像處理算法、圖像處理軟件和通信控制裝置。圖像采集裝置主要是獲取圖像數(shù)據(jù),使用的是CCD/CMOS傳感器。圖像處理主要是在DSP中進(jìn)行,是對(duì)圖像進(jìn)行預(yù)處理,識(shí)別、檢測(cè)圖像特征,分割圖像特征,提取圖像特征,最后得到圖像處理結(jié)果。這主要是在數(shù)字信號(hào)處理器(DSP)中完成。圖像通信裝置主要是對(duì)圖像處理過(guò)程進(jìn)行控制,并且實(shí)現(xiàn)圖像處理結(jié)果輸出。圖1為所設(shè)計(jì)智能相機(jī)的結(jié)構(gòu)框圖。
在本設(shè)計(jì)中,相機(jī)采用了ADI公司的ADSP-BF537作為控制核心。ADSP-BF537是具有較高性能的系列成員,擁有容量更大的嵌入式存儲(chǔ)器,從而可滿足諸如視頻安全/監(jiān)控和基于工業(yè)環(huán)境的分布式控制/工廠自動(dòng)化應(yīng)用等嵌入式應(yīng)用的較高吞吐量需求。ADSP-BF537提供了卓越的性能,并專為諸如遠(yuǎn)程監(jiān)視設(shè)備、VoIP、銷售點(diǎn)終端以及生物特征識(shí)別/安全應(yīng)用等低成本連接設(shè)備而設(shè)計(jì)。作為整個(gè)系統(tǒng)的核心,ADSP-BF537具有接口豐富,性能優(yōu)良,價(jià)格便宜的特點(diǎn),并具有強(qiáng)大的多媒體數(shù)據(jù)處理能力。
在圖像采集模塊中,相機(jī)使用了CMOS圖像傳感器。與CCD圖像傳感器的高成本相比,CMOS圖像觸感器具有低功耗,低成本的優(yōu)勢(shì)。隨著CMOS傳感器制造工藝的發(fā)展,其性能將會(huì)越來(lái)越接近CCD傳感器。相機(jī)通過(guò)CMOS圖像傳感器采集圖像數(shù)據(jù),并且在DSP通過(guò)I2C的控制下,把數(shù)據(jù)傳入DSP。
在通信控制模塊中,相機(jī)通過(guò)以太網(wǎng)、串口RS 232,I/O端口與外部進(jìn)行連接,從而實(shí)現(xiàn)相機(jī)的數(shù)據(jù)輸出與控制。以太網(wǎng)用以實(shí)現(xiàn)上位機(jī)與相機(jī)的通信與控制,而I/O端口用來(lái)外部觸發(fā)控制相機(jī)或者實(shí)現(xiàn)相機(jī)向外部輸出控制信號(hào)。串口RS 232主要是用來(lái)不通過(guò)仿真器來(lái)燒寫U_Boot引導(dǎo)程序和uClinux鏡像文件。
2 軟件設(shè)計(jì)
相機(jī)的軟件程序設(shè)計(jì)使用了一個(gè)Oscar(Open source camera)框架平臺(tái)和OpenCV視覺(jué)庫(kù),從而使軟件設(shè)計(jì)更加的簡(jiǎn)單、方便、快捷,圖2為Oscar框架與OpenCV的關(guān)系圖。Oscar為軟件的設(shè)計(jì)提供了簡(jiǎn)易的應(yīng)用方法模塊,并且隱藏了硬件接口的復(fù)雜性,從而使軟件設(shè)計(jì)者不需要關(guān)心底層硬件程序的設(shè)計(jì)。而OpenCV構(gòu)建了一個(gè)簡(jiǎn)單易用的計(jì)算機(jī)視覺(jué)框架,幫助并發(fā)人員更便捷地設(shè)計(jì)更復(fù)雜的計(jì)算機(jī)視覺(jué)相關(guān)的應(yīng)用程序。
評(píng)論