亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于嵌入式的人臉圖像采集顯示系統(tǒng)的制作

        2015-04-16 01:29:58郭中華連億東伍馮潔向光成
        電腦與電信 2015年7期
        關(guān)鍵詞:人臉嵌入式攝像頭

        郭中華 連億東 伍馮潔 向光成 楊 智

        (1.中山大學(xué)南方學(xué)院,廣東 廣州 510655;2.廣州大學(xué)實(shí)驗(yàn)中心,廣東 廣州 510006;3.深圳市廣天川科技有限公司,廣東 深圳 518129;4.中山大學(xué),廣東 廣州 510655)

        1 系統(tǒng)架構(gòu)

        本系統(tǒng)的圖像采集采用USB攝像頭,處理器使用三星公司的S5PV210,該處理器內(nèi)部集成PowerVR SGX540高性能圖形引擎,適合對(duì)圖像進(jìn)行處理。由于本人臉圖像采集系統(tǒng)后續(xù)作為人臉識(shí)別使用,所以在該系統(tǒng)中移植了OpenCv以便后續(xù)對(duì)人臉進(jìn)一步處理,系統(tǒng)整體架構(gòu)如圖1。

        圖1 系統(tǒng)整體架構(gòu)

        2 系統(tǒng)環(huán)境設(shè)置

        通過(guò)USB攝像頭獲取的人臉圖像要能正常在LCD屏上顯示,開(kāi)發(fā)板上需要設(shè)置以下環(huán)境,具體設(shè)置如下。

        2.1 系統(tǒng)基本環(huán)境配置

        本文中使用的USB攝像頭驅(qū)動(dòng)為UVC類(lèi)攝像頭,從2.6.26版本開(kāi)始,Linux UVC驅(qū)動(dòng)被添加到內(nèi)核中,對(duì)內(nèi)核進(jìn)行配置就可以使用UVC。以下是配置步驟:

        2.2 移植OpenCv

        OpenCv是一個(gè)計(jì)算機(jī)視覺(jué)庫(kù),包含許多對(duì)圖像處理的函數(shù),也包括了對(duì)攝像頭設(shè)備的訪問(wèn)和從攝像頭設(shè)備捕獲圖像的函數(shù)。使用OpenCv庫(kù)函數(shù)來(lái)訪問(wèn)攝像頭,返回的圖像數(shù)據(jù)指針?lè)浅S欣诤罄m(xù)使用OpenCv的其它圖像處理函數(shù)。筆者在Linux系統(tǒng)下使用Cmake-gui配置交叉編譯OpenCv所需的makefile文件,根據(jù)預(yù)定設(shè)計(jì)在移植時(shí)有以下關(guān)鍵設(shè)置需要注意:

        (1)指定操作系統(tǒng)

        Operating System:填寫(xiě)Linux,要注意大小寫(xiě)。

        (2)頭文件索引模式

        Include Mode:需要設(shè)置為Search only in Target Root,這樣在編譯的時(shí)候會(huì)優(yōu)先選擇交叉編譯工具鏈目錄下的.h文件,以保證交叉編譯的順利進(jìn)行。

        (3)OpenCv編譯添加選項(xiàng)

        WITH_V4L:使用OpenCv的庫(kù)函數(shù)來(lái)打開(kāi)USB攝像頭設(shè)備必須勾上的一個(gè)選項(xiàng)。OpenCv有直接打開(kāi)攝像頭的庫(kù)函數(shù),依賴(lài)于V4L,如果沒(méi)有配置這一個(gè)選項(xiàng),很可能會(huì)導(dǎo)致在ARM嵌入式中打不開(kāi)攝像頭設(shè)備。

        2.3 Qt中OpenCv的添加

        編寫(xiě)Qt程序時(shí),使用了OpenCv中的函數(shù),需要為編譯工具指明所引用的.h頭文件和.so庫(kù)文件的路徑。具體方法為:打開(kāi)Qt工程中的.pro文件,在其中添加OpenCv的.h和.so文件路徑。本文移植OpenCv后,ARM版的OpenCv庫(kù)文件在PC上的位置是:/usr/local/arm/opencv2.4.9.2/。根據(jù)本文的配置,在Qt工程中的.pro文件中添加以下內(nèi)容以完成在Qt中添加OpenCv。

        3 人臉圖像的采集

        為了對(duì)采集到的人臉圖像做進(jìn)一步處理,本系統(tǒng)使用了計(jì)算機(jī)視覺(jué)庫(kù)OpenCv,通過(guò)opencv采集人臉圖像的具體流程如圖2。

        圖2 視頻圖像獲取流程

        (1)打開(kāi)視頻設(shè)備

        本系統(tǒng)對(duì)攝像頭設(shè)備進(jìn)行訪問(wèn)采用的是opencv自帶的函數(shù)cvCaptureFromCAM(index),index參數(shù)代表打開(kāi)的攝像頭,其中-1代表隨機(jī)打開(kāi)一個(gè)攝像頭,0、1、2…分別代表/dev/video0、/dev/video1、/dev/video2…。調(diào)用改函數(shù)打開(kāi)攝像頭設(shè)備后會(huì)返回一個(gè)CvCapture指針。在OpenCv中,CvCapture專(zhuān)門(mén)用來(lái)存儲(chǔ)視頻類(lèi)型文件的一些主要信息,如分辨率等等。主要代碼如下:

        (2)獲取一幀圖像

        在確保攝像頭打開(kāi)成功過(guò)后,則是對(duì)圖像信息的獲取,通過(guò)OpenCv中提供函數(shù)cvQueryFrame()可以獲取下一幀圖像,并返回一個(gè)IplImage指針。在OpenCv中,IplImage專(zhuān)門(mén)來(lái)用存儲(chǔ)圖像的信息,也是OpenCv中處理圖像的通用參數(shù)格式。主要代碼如下:

        IplImage*frame;//創(chuàng)建一個(gè)IplImage指針

        frame=cvQueryFrame(capture);//從攝像頭視頻流中獲取一幀圖像

        (3)關(guān)閉視頻設(shè)備

        OpenCv中提供函數(shù)cvReleaseCapture(CvCapture**capture),通過(guò)釋放Capture關(guān)閉攝像頭設(shè)備。主要代碼如下:

        cvReleaseCapture(capture);

        4 人臉圖像的顯示

        基于嵌入式Linux常見(jiàn)的GUI系統(tǒng)有MiniGUI、MicroWindows、OpenGUI和基于 Framebuffer的 Qt/Embedded。Qt提供了一個(gè)圖形用戶(hù)界面應(yīng)用程序的開(kāi)發(fā)框架,在這些基礎(chǔ)上做視頻圖像的顯示非常方便。本系統(tǒng)采用Qt/Embedded作為開(kāi)發(fā)平臺(tái),將通過(guò)OpenCv獲取到的圖像內(nèi)容繪制在LCD屏幕上進(jìn)行顯示。

        4.1 人臉圖像顯示流程

        根據(jù)預(yù)定設(shè)計(jì)最終人臉圖像將顯示到LCD屏上,為了使系統(tǒng)具有更好的人機(jī)交互性,在這里使用Qt作為圖形化用戶(hù)界面,其具體實(shí)現(xiàn)流程圖3所示。

        圖3 圖像顯示程序流程圖

        4.2 Qt顯示人臉圖像的具體實(shí)現(xiàn)

        為了將人臉圖像在嵌入式板上流暢地顯示出來(lái),筆者做了以下改進(jìn):

        (1)顯示界面大小設(shè)置

        在Qt工程中打開(kāi).ui文件,拖出一個(gè)Label部件,如果屏幕足夠大,將Label的大小調(diào)整為使用的攝像頭采集圖像支持的最大分辨率得以完整顯示全部圖像內(nèi)容,如本文采用的LCD屏幕分辨率為800*480,攝像頭采集的圖像分辨率為640*480,則可以把Label設(shè)置為640*480,以此得到最佳的界面顯示效果。

        (2)顏色通道轉(zhuǎn)換

        在OpenCv中,Iplimage的顏色通道順序是BGR;而在Qt中,Qimage的顏色通道順序是RGB,為了使Qt正確地顯示出每一幀的圖像的顏色,需要將每一幀圖像的通道順序從BGR調(diào)整為RGB,OpenCv已提供了對(duì)應(yīng)的函數(shù)cvCvtColor(const CvArr*src,CvArr*dst,int code)[1]。主要代碼如下:

        cvCvtColor(frame,frame,CV_BGR2RGB);//第一個(gè)參數(shù)為源圖像,第二個(gè)參數(shù)為結(jié)果輸出圖像,第三個(gè)參數(shù)為轉(zhuǎn)換方案。

        (3)使用Qimage[2]

        Qt中的Qimage類(lèi)對(duì)應(yīng)OpenCv的IplImage,是專(zhuān)門(mén)用來(lái)處理圖像的一個(gè)類(lèi)。使用OpenCv的函數(shù)打開(kāi)攝像頭,返回的是IplImage結(jié)構(gòu)的指針,IplImage的圖像數(shù)據(jù)賦值給Qimage,在Qt的Label上顯示。主要代碼如下:

        #define image_Format QImage::Format_RGB888//圖像顯示格式

        QImage qimage=QImage((uchar*)frame->imageData,frame->width,frame->height,image_Format);//創(chuàng)建一個(gè) Qimage對(duì)象,即Qimage圖像,其寬和高由原來(lái)的IplImage指定,圖像顯示格式為RGB888,圖像數(shù)據(jù)直接賦給Qimage圖像。

        (4)將Qimage加載到Label上

        QPixmap類(lèi)可以實(shí)現(xiàn)將圖像繪制在一個(gè)Label上,根據(jù)圖像的大小設(shè)定好Label的尺寸可以更完整地呈現(xiàn)圖像。主要代碼如下∶ui->Label->setPixmap(QPixmap∶fromImage(qimage));

        (5)添加定時(shí)器,間隔刷新界面

        圖像數(shù)據(jù)的連續(xù)采集和顯示是通過(guò)定時(shí)器實(shí)現(xiàn)的,QTimer類(lèi)提供了定時(shí)器信號(hào)和單觸發(fā)定時(shí)器。設(shè)置定時(shí)啟動(dòng)觸發(fā)周期,每當(dāng)定時(shí)器時(shí)間到就觸發(fā)一個(gè)定時(shí)器事件,在事件中調(diào)用VIDIOCMCAPTURE函數(shù)完成對(duì)圖像的采集,并通過(guò)QPixmap類(lèi)將圖像顯示到LCD上[3]。

        5 結(jié)論

        本文基于三星s5pv210處理器和嵌入式Linux系統(tǒng),結(jié)合使用OpenCv和Qt編程詳細(xì)介紹了通過(guò)USB攝像頭實(shí)時(shí)顯示視頻圖像的一種方案。通過(guò)實(shí)驗(yàn)測(cè)試對(duì)比使用在Qt中添加V4L2驅(qū)動(dòng)方式采集圖像的方式[4],發(fā)現(xiàn)本文采用的方案在采集和顯示圖像的流暢度更好一些。此外,該方案適用于使用OpenCv進(jìn)一步對(duì)圖像進(jìn)行處理,可大大減少如人臉識(shí)別等計(jì)算機(jī)視覺(jué)處理系統(tǒng)的開(kāi)發(fā)成本和周期,經(jīng)推廣可用于計(jì)算機(jī)視覺(jué)項(xiàng)目涉及的多個(gè)領(lǐng)域。

        [1]李明瑞.嵌入式人臉檢測(cè)與識(shí)別系統(tǒng)的研究與實(shí)現(xiàn)[D].長(zhǎng)沙理工大學(xué),2012:39-40.

        [2]陳鵬.基于ARM11的嵌入式人臉識(shí)別系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)[D].鄭州:鄭州大學(xué)信息工程學(xué)院,2013:17-17.

        [3]吳健.基于ARM的嵌入式USB圖像[J].現(xiàn)代顯示,2011,第127期:41-42.

        [4]白長(zhǎng)清,陳沛.嵌入式終端基于Linux V4L2的圖像采集系統(tǒng)[J].科技資訊,2012:22-23.

        猜你喜歡
        人臉嵌入式攝像頭
        浙江首試公路非現(xiàn)場(chǎng)執(zhí)法新型攝像頭
        攝像頭連接器可提供360°視角圖像
        有特點(diǎn)的人臉
        三國(guó)漫——人臉解鎖
        搭建基于Qt的嵌入式開(kāi)發(fā)平臺(tái)
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        奔馳360°攝像頭系統(tǒng)介紹
        馬面部與人臉相似度驚人
        長(zhǎng)得象人臉的十種動(dòng)物
        奇聞怪事(2014年5期)2014-05-13 21:43:01
        Altera加入嵌入式視覺(jué)聯(lián)盟
        无套内谢孕妇毛片免费看| 亚洲综合久久一本久道| 国产精品视频白浆免费看| 色婷婷精品久久二区二区蜜桃| 熟妇人妻久久中文字幕| 中文无码成人免费视频在线观看| 中文无码制服丝袜人妻AV| 女优av一区二区在线观看| 中文字幕一精品亚洲无线一区| 99re久久精品国产| 永久免费的拍拍拍网站| 亚洲一区二区三区激情在线观看 | 久久精品99久久香蕉国产| 99国产精品99久久久久久| 日本一区二区三区的免费视频观看| 亚洲国产熟女精品传媒| 人妻久久久一区二区三区| 最新国产午夜福利| 久久这黄色精品免费久| 十八禁视频在线观看免费无码无遮挡骂过 | 日韩精品视频一区二区三区 | 亚洲丁香婷婷综合久久小说 | 一本大道久久东京热无码av| 国产激情视频高清在线免费观看| 无码国产精品一区二区免费式芒果| 中文字幕一区二区三区精彩视频| 99精品国产第一福利网站| 美女丝袜诱惑在线播放蜜桃| 亚洲av无码乱码在线观看性色| 久久天天躁狠狠躁夜夜爽| 日韩精品免费在线视频| 色婷婷久久亚洲综合看片| 亚洲国产一区二区a毛片| 一区二区视频观看在线| 日韩极品在线观看视频| 99久久精品免费观看国产| 亚洲国产精品线路久久| 一区二区三区四区免费国产视频| 欧美做受又硬又粗又大视频| 亚洲gv白嫩小受在线观看| 天堂视频一区二区免费在线观看 |