国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于OpenCV的嵌入式圖像處理平臺(tái)的構(gòu)建

2015-04-13 00:20:10方華郭靜田敬北
無(wú)線互聯(lián)科技 2015年3期
關(guān)鍵詞:嵌入式

方華++郭靜++田敬北

摘 要:文章以ARM Cortex-A8 (S5PV210)為核心,構(gòu)建了一種基于OpenCV的嵌入式圖像處理平臺(tái),提出在主流的Ubuntu操作系統(tǒng)上交叉編譯Qt和OpenCV后將其移植到嵌入式Linux操作系統(tǒng)中,為嵌入式平臺(tái)下復(fù)雜圖像處理算法的設(shè)計(jì)和實(shí)現(xiàn)提供了一條有效途徑,降低了開(kāi)發(fā)難度。在此平臺(tái)上進(jìn)行的在線人臉識(shí)別實(shí)驗(yàn)結(jié)果表明該平臺(tái)運(yùn)行可靠,功能正常。

關(guān)鍵詞:OpenCV;嵌入式;圖像處理平臺(tái);Qt

與基于PC機(jī)和圖像處理卡等的傳統(tǒng)圖像處理系統(tǒng)相比,采用嵌入式系統(tǒng)可以開(kāi)發(fā)出具有便攜性、實(shí)時(shí)性、成本更低以及可靠性更佳的圖像處理平臺(tái),但也存在軟件設(shè)計(jì)難度大,開(kāi)發(fā)周期長(zhǎng)、代碼效率主要依賴設(shè)計(jì)人員經(jīng)驗(yàn)等問(wèn)題。為此,文章提出一種基于OpenCV的嵌入式圖像處理平臺(tái),在宿主機(jī)上采用Ubuntu操作系統(tǒng),安裝OpenCV以實(shí)現(xiàn)圖像處理和計(jì)算機(jī)視覺(jué)方面的通用算法,降低開(kāi)發(fā)難度,縮短軟件開(kāi)發(fā)周期[1],同時(shí)OpenCV中大部分函數(shù)都進(jìn)行了匯編優(yōu)化,有效提高了程序的運(yùn)行效率。基于OpenCV的開(kāi)源特性也降低了產(chǎn)品的成本。

1 構(gòu)建平臺(tái)所用的軟硬件配備

1.1 宿主機(jī)配置和源代碼預(yù)備

宿主機(jī)主要是用來(lái)開(kāi)發(fā)和調(diào)試嵌入式系統(tǒng)應(yīng)用程序的計(jì)算機(jī)系統(tǒng)。宿主機(jī)硬件可以用PC機(jī),配置Linux操作系統(tǒng)。在構(gòu)建本嵌入式圖像處理平臺(tái)的過(guò)程中需要準(zhǔn)備如下源代碼:用于生成目標(biāo)系統(tǒng)的編譯器gcc源代碼、用于圖形界面顯示的Qt源代碼以及用于圖像處理的OpenCV源代碼。

1.2 建立rootfs目錄

將下載的得到的文件解壓,使用如下命令建立相關(guān)目錄:

$sudo mkdir rootfs

$cd rootfs

$sudo mkdir root home lib dev sbin mnt sys proc tmp var etc usr

1.3 權(quán)限環(huán)境變量的設(shè)置

正確的權(quán)限設(shè)置是保證正常創(chuàng)建編譯環(huán)境的重要條件,編譯環(huán)境設(shè)置權(quán)限的基本原則是,保證用戶對(duì)所有操作目錄及目錄下的文件擁有讀寫的權(quán)限[2]。具體設(shè)置如下:

sudo chown –R root:root rootfs/

sudo chown –R 755 root rootfs/

2 嵌入式圖像處理平臺(tái)的構(gòu)建

2.1 嵌入式圖像處理平臺(tái)硬件結(jié)構(gòu)

文章以友善之臂公司生產(chǎn)的Smart210開(kāi)發(fā)板作為硬件平臺(tái),以三星公司的S5PV210嵌入式中央處理器作為核心部件。該款處理器采用了ARM Cortex?-A8內(nèi)核,ARM V7指令集,主頻可達(dá)1GHZ,具有2000DMIPS的高性能運(yùn)算能力,已經(jīng)被廣泛應(yīng)用于手機(jī)和平板等移動(dòng)多媒體設(shè)備上。

2.2 軟件平臺(tái)搭建

軟件平臺(tái)的搭建主要分為操作系統(tǒng)移植、移植Qt和移植OpenCV三個(gè)部分。在圖像處理開(kāi)發(fā)工具上選擇了廣泛應(yīng)用的OpenCV,利用該視覺(jué)庫(kù)可以很方便地實(shí)現(xiàn)數(shù)字圖像處理。在顯示方面,選擇以支持多平臺(tái)而著稱的Qt圖形界面設(shè)計(jì)工具,其優(yōu)點(diǎn)在于一次編寫,隨處編譯,已成為圖像處理領(lǐng)域強(qiáng)有力的輔助工具。

2.2.1 操作系統(tǒng)移植

嵌入式圖像處理平臺(tái)的搭建的首要步驟為操作系統(tǒng)的選擇和移植。嵌入式Linux操作系統(tǒng)作為嵌入式主流操作系統(tǒng),其最大的特點(diǎn)是源碼公開(kāi)并且遵循GPL協(xié)議。由于嵌入式Linux操作系統(tǒng)支持廣泛的硬件、融合了各種強(qiáng)大的應(yīng)用軟件及完善的設(shè)備驅(qū)動(dòng)和開(kāi)發(fā)工具,因此文章選用了嵌入式Linux操作系統(tǒng)進(jìn)行移植,其關(guān)鍵在于正確制作根文件系統(tǒng)以啟動(dòng)Linux內(nèi)核。制作根文件系統(tǒng)的流程,如圖 1所示。

2.2.2 圖形界面庫(kù)Qt的移植步驟

Step1:編譯Qt-4.8.4,方法如下:

tar xfvz qt-everywhere-opensource-src-4.8.5.tar.gz

cd qt-everywhere-opensource-src-4.8.5

./configure -opensource -embedded arm -xplatform -prefix /opt/qt-4.8.5 -I /tslib/include -L /tslib/lib

Step2:把/opt/qt-4.8.5/lib下的所有文件放入開(kāi)發(fā)板文件系統(tǒng)中。

Step3:修改etc/profile文件,添加Qt庫(kù)的環(huán)境變量。

2.2.3 計(jì)算機(jī)開(kāi)源視覺(jué)庫(kù)OpenCV的移植步驟

在進(jìn)行OpenCV的移植時(shí)文章提出改用Qt編寫圖形接口部分,而不使用OpenCV的HighGUI庫(kù)。其原因在于OpenCV中的HighGUI模塊中的函數(shù)是基于GTK+的,主要為了將圖像顯示在GTK+窗體上,由于移植GTK+比較復(fù)雜,需要的依賴庫(kù)比較多,移植相當(dāng)繁瑣,容易出錯(cuò)。在嵌入式圖像處理開(kāi)發(fā)平臺(tái)中,應(yīng)用程序的開(kāi)發(fā)與GTK+相關(guān)性不大,因此調(diào)用OpenCV函數(shù)編寫圖像處理程序時(shí),不采用HighGUI中的庫(kù)函數(shù)會(huì)使界面的編寫更簡(jiǎn)單。

具體移植步驟如下:

Step1:下載源碼并解壓。

Step2:安裝cmake以及cmake-gui。

Step3:配置OpenCV。

Step4:配置cmake和cmake-gui。

Step5:make和make install。

Step6:將lib文件夾下的所有文件拷貝到開(kāi)發(fā)板。

Step7:設(shè)置環(huán)境變量。

3 嵌入式圖像處理平臺(tái)應(yīng)用

為了驗(yàn)證嵌入式圖像處理平臺(tái)是否構(gòu)建成功,文章設(shè)計(jì)了人臉識(shí)別應(yīng)用程序進(jìn)行驗(yàn)證。人臉識(shí)別是通過(guò)對(duì)攝像頭獲取的視頻流數(shù)據(jù)進(jìn)行圖像處理中的檢測(cè)定位和特征提取,從而識(shí)別出人臉的具體位置,并進(jìn)行在線跟蹤。實(shí)驗(yàn)中采用基于OpenCV的人臉識(shí)別分類器,通過(guò)接入的USB攝像頭實(shí)時(shí)監(jiān)測(cè)人臉。

3.1 人臉識(shí)別算法

OpenCV人臉識(shí)別分類器利用Haar-like特征來(lái)表示人臉特征[3],采用積分圖作為加速器的方法高效計(jì)算人臉特征,再由AdaBoost迭代學(xué)習(xí)算法進(jìn)行特征選擇和分類器的訓(xùn)練,最終實(shí)現(xiàn)人臉圖像的跟蹤識(shí)別。對(duì)于每一個(gè)特征,Adaboost算法根據(jù)訓(xùn)練樣本的特征值排序,并計(jì)算樣本權(quán)重,求得分類誤差后得出最優(yōu)弱分類器,經(jīng)過(guò)多次循環(huán)特征選擇能夠得到更多的最優(yōu)弱分類器,再組合最優(yōu)弱分類器得到強(qiáng)分類器,相當(dāng)于按照弱分類器的錯(cuò)誤率加權(quán)投票的方式將弱分類器構(gòu)造為一個(gè)強(qiáng)分類器;然后,將強(qiáng)分類器強(qiáng)強(qiáng)聯(lián)手串聯(lián)成一個(gè)級(jí)聯(lián)分類器。

3.2 實(shí)驗(yàn)結(jié)果

實(shí)驗(yàn)分為標(biāo)識(shí)人臉和跟蹤人臉兩方面,當(dāng)單個(gè)或者多個(gè)人臉出現(xiàn)在攝像頭前,顯示屏上均能顯示并標(biāo)識(shí)人臉,當(dāng)人臉從中間分別向兩邊移動(dòng)時(shí),能夠?qū)崟r(shí)跟蹤人臉。同時(shí),在本嵌入式圖像處理平臺(tái)上,檢測(cè)出人臉的平均時(shí)間為300ms,而在普通的PC機(jī)上,編寫同樣的算法,運(yùn)行也需要150ms的檢測(cè)時(shí)間。在相同的代碼下,本嵌入式平臺(tái)和普通PC機(jī)平臺(tái)主要參數(shù)不同。由該實(shí)驗(yàn)可看出,在本嵌入式平臺(tái)下,能夠準(zhǔn)確的檢測(cè)到攝像頭所拍攝到的人臉,人臉識(shí)別的測(cè)試運(yùn)行也證明了嵌入式圖像處理平臺(tái)的可行性和穩(wěn)定性。

[參考文獻(xiàn)]

[1]賈小軍,喻擎蒼.基于開(kāi)源計(jì)算機(jī)視覺(jué)庫(kù)OpenCV的圖像處理[J].計(jì)算機(jī)應(yīng)用與軟件,2008(4):276-278.

[2]宋凱,嚴(yán)麗平,甘嵐.嵌入式圖像處理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2009(19):4368-4370+4377.

[3]劉曉克,孫燮華,周永霞.基于新Haar-like特征的多角度人臉檢測(cè)[J].計(jì)算機(jī)工程,2009(19):195-197.

猜你喜歡
嵌入式
TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應(yīng)用
電子制作(2019年7期)2019-04-25 13:17:14
嵌入式系統(tǒng)通信技術(shù)的應(yīng)用
電子制作(2018年18期)2018-11-14 01:48:16
搭建基于Qt的嵌入式開(kāi)發(fā)平臺(tái)
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
Altera加入嵌入式視覺(jué)聯(lián)盟
倍福 CX8091嵌入式控制器
无为县| 尤溪县| 镇远县| 峨眉山市| 民和| 临清市| 乌拉特后旗| 泰顺县| 望城县| 盐边县| 扎鲁特旗| 榆中县| 屯留县| 高碑店市| 旬阳县| 高雄县| 吉木萨尔县| 三门县| 合肥市| 扬中市| 中阳县| 曲麻莱县| 肥乡县| 壤塘县| 定远县| 万山特区| 隆德县| 长兴县| 云安县| 常山县| 黔西县| 固镇县| 弥渡县| 大安市| 米易县| 腾冲县| 平安县| 通辽市| 南皮县| 广河县| 大同市|