基于嵌入式系統(tǒng)的多攝像頭圖像采集.ppt_第1頁
基于嵌入式系統(tǒng)的多攝像頭圖像采集.ppt_第2頁
基于嵌入式系統(tǒng)的多攝像頭圖像采集.ppt_第3頁
基于嵌入式系統(tǒng)的多攝像頭圖像采集.ppt_第4頁
基于嵌入式系統(tǒng)的多攝像頭圖像采集.ppt_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

基于嵌入式系統(tǒng)的多攝像頭圖像采集,答辯人: 桂 旻,指導(dǎo)教師:劉忠信,2015年6月2日,-1-,主要內(nèi)容,-2-,研究背景及意義 系統(tǒng)硬件平臺(tái)介紹 單攝像頭圖像采集 多攝像頭圖像采集與圖像處理 總結(jié)與展望,注釋:DDTL-Distribution Diagram Table Look-up,-3-,研究背景及意義,隨著機(jī)器視覺技術(shù)的發(fā)展,越來越多的機(jī)器人工作時(shí)需要采集周圍環(huán)境的圖像信息。對(duì)某些機(jī)器平臺(tái)來說,周圍環(huán)境的全景信息更是其進(jìn)行定位、移動(dòng)規(guī)劃時(shí)所需的必要信息。,本課題的目標(biāo)在于搭建基于嵌入式的多攝像頭圖像采集系統(tǒng)。與一般通過特殊設(shè)備(如魚眼鏡頭、折射反射鏡)來實(shí)現(xiàn)全景圖像采集功能的系統(tǒng)不同,本課題通過多個(gè)市面上一般的USB攝像頭設(shè)備采集周圍的圖像信息,再通過圖像拼接算法將這些攝像頭采集到的圖像數(shù)據(jù)合成全景圖片。,系統(tǒng)硬件平臺(tái)介紹,-4-,廣州天嵌計(jì)算機(jī)科技有限公司TQ210開發(fā)板采用三星Cortex-A8 S5PV210核心板,CPU運(yùn)行速度最大可達(dá)1GHz,32/32KB一級(jí)緩存,512KB二級(jí)緩存。自帶3D圖形加速引擎(SGX540),2D圖形加速,最大支持81928192分辨率。,(1) ARM開發(fā)板選擇,TQ210開發(fā)板實(shí)物圖,系統(tǒng)硬件平臺(tái)介紹,-5-,中心微公司出品的具有150度廣角的USB攝像頭。該攝像頭的型號(hào)為XS998,有1200萬像素,免驅(qū),感光元件類型為CMOS,最大分辨率為1280720,支持UVC協(xié)議,(2) 攝像頭選擇,攝像頭實(shí)物圖,系統(tǒng)硬件平臺(tái)介紹,-6-,三攝像頭相對(duì)位置圖,本課題的最終目標(biāo)是實(shí)現(xiàn)基于嵌入式的多攝像頭全景圖像采集系統(tǒng)。由于需要采集周圍環(huán)境的全景圖像信息,所以對(duì)攝像頭的位置有一定的要求。攝像頭擺放的相對(duì)位置如右圖所示。,(3) 硬件平臺(tái)搭建,單攝像頭圖像采集,-7-,一、搭建Android開發(fā)環(huán)境 二、相關(guān)驅(qū)動(dòng)介紹 三、JNI技術(shù) 四、圖像采集程序,搭建Android開發(fā)環(huán)境,-8-,(1)安裝JDK(Java SE Development Kit); (2)安裝Eclipse; (3)安裝Android SDK(Software Development Kit); (4)安裝ADT(Android Development Tools)插件; (5)在Eclipse中設(shè)定Android SDK主目錄;,相關(guān)驅(qū)動(dòng)介紹,-9-,(1)V4L2(Video for Linux two)驅(qū)動(dòng),/dev/videoX V4L2設(shè)備號(hào),字符設(shè)備驅(qū)動(dòng)程序核心(cdev),V4L2驅(qū)動(dòng)核心,平臺(tái)V4L2驅(qū)動(dòng) (Video_device,v4l2_dev),具體的sensor驅(qū)動(dòng) (v4l2_subdev),攝像頭硬件設(shè)備,用戶空間,內(nèi)核空間,內(nèi)核空間,硬件,V4L2作用效果圖,相關(guān)驅(qū)動(dòng)介紹,-10-,(2)UVC(USB Video Class),UVC(USB Video Class)是由微軟發(fā)起的一種USB視頻類標(biāo)準(zhǔn),主要用于攝像頭,掃描儀等圖像設(shè)備。該協(xié)議主要用于提供一種基USB的視頻圖像設(shè)備的一種視頻圖像傳輸?shù)臉?biāo)準(zhǔn)。 UVC驅(qū)動(dòng)的實(shí)現(xiàn)源碼位于drivers/media/video/uvc/uvc_driver.c中。當(dāng)系統(tǒng)外接USB圖像采集設(shè)備如USB攝像頭時(shí),系統(tǒng)就會(huì)調(diào)用該文件,檢測(cè)USB設(shè)備所能實(shí)現(xiàn)的功能,將該USB圖像采集設(shè)備注冊(cè)成一個(gè)V4L2視頻設(shè)備,并將該video設(shè)備文件存放在系統(tǒng)的/dev目錄下。,JNI技術(shù),-11-,JNI是Java平臺(tái)上定義的一套接口標(biāo)準(zhǔn)。它的存在使得Java能和C語言等其它編程語言進(jìn)行交流,即讓Java能調(diào)用用C語言編寫的代碼。具體來看,當(dāng)Java想調(diào)用C語言編寫的文件,需先將這個(gè)文件生成一個(gè)動(dòng)態(tài)鏈接庫,再將這個(gè)動(dòng)態(tài)鏈接庫導(dǎo)入到Android程序中。,圖像采集程序,-12-,打開攝像頭驅(qū)動(dòng)程序,獲取驅(qū)動(dòng)功能 VIDIOC_QUERYCAP,設(shè)置視頻格式 VIDIOC_S_FMT,為設(shè)備驅(qū)動(dòng)申請(qǐng)幀內(nèi)存 VIDIOC_QUERYBUF,映射幀緩存到用戶空間 mmap(),幀緩沖入隊(duì)列,交給內(nèi)核 驅(qū)動(dòng)VIDIOC_QBUF,啟動(dòng)視頻采集 VIDIOC_STREAMON,從緩沖序列中獲取一幀 視頻VIDIOC_DQBUF,幀緩沖入隊(duì)列,交給內(nèi)核 驅(qū)動(dòng)VIDIOC_QBUF,停止視頻采集 VIDIOC_STREAMOFF,關(guān)閉攝像頭驅(qū)動(dòng)程序,繼續(xù)采集,是,否,一、采集流程,圖像采集程序,-13-,二、主要步驟,(1) 打開設(shè)備文件。 (2) 查看設(shè)備功能,若設(shè)備能采集圖像,設(shè)置輸入圖像的格式 (3) 設(shè)置設(shè)備采集的圖像編碼格式為YUYV (4) 向驅(qū)動(dòng)申請(qǐng)幀緩沖,用來存放采集的圖像數(shù)據(jù)。本系統(tǒng)申請(qǐng)了4個(gè)緩沖區(qū)。 (5) 將申請(qǐng)到的內(nèi)存緩沖區(qū)放入圖像采集隊(duì)列。 (6) 開始數(shù)據(jù)采集。這里采用內(nèi)存映射方法,程序直接獲取攝像頭采集的數(shù)據(jù) (7) 處理數(shù)據(jù)。內(nèi)存緩沖區(qū)將通過驅(qū)動(dòng)從設(shè)備處采集的數(shù)據(jù)交給應(yīng)用程序處理,自己清空數(shù)據(jù)后再被放入圖像采集隊(duì)列等待獲取圖像。 (8) 程序?qū)膬?nèi)存緩沖區(qū)得到的YUYV格式數(shù)據(jù)轉(zhuǎn)化為RGB格式,在顯示屏上顯示出來。 (9) 圖像采集過程結(jié)束,關(guān)閉視頻設(shè)備。,圖像采集程序,-14-,三、編寫程序,在清楚了Android系統(tǒng)如何通過USB攝像頭采集視頻圖像信息后,本文編寫完成一個(gè)簡(jiǎn)單的應(yīng)用程序來實(shí)際實(shí)現(xiàn)單USB攝像頭的圖像采集。 該程序只有一個(gè)Activity,用來預(yù)覽USB攝像頭采集到的視頻圖像。同時(shí)本文將操作攝像頭采集圖像數(shù)據(jù)及對(duì)數(shù)據(jù)進(jìn)行處理的函數(shù)方法都封裝到用C語言編寫的文件中,再通過Android系統(tǒng)中的JNI技術(shù)生成動(dòng)態(tài)鏈接庫將其導(dǎo)入程序中。通過調(diào)用這些函數(shù)本文編寫了一個(gè)繼承Android系統(tǒng)中的SurfaceView的CameraPreview類,通過此類實(shí)現(xiàn)數(shù)據(jù)采集工作,最終實(shí)現(xiàn)了單攝像頭圖像采集的功能。,三攝像頭圖像采集及圖像處理,-15-,一、三攝像頭圖像采集 二、簡(jiǎn)單圖像拼接 三、圖像拼接Stitcher類 四、兩種圖像拼接方法的簡(jiǎn)單比較,三攝像頭圖像采集,-16-,當(dāng)將三個(gè)USB攝像頭與開發(fā)板相連時(shí),在系統(tǒng)目錄下的dev文件夾中會(huì)生成video0,video4,video5三個(gè)設(shè)備文件(video1、video2、video3是Android4.0系統(tǒng)自帶的文件,有特定的功能,不再對(duì)應(yīng)外接的USB設(shè)備)。,在第三章里已經(jīng)編寫了一個(gè)能實(shí)現(xiàn)攝像頭預(yù)覽功能的CameraPreview類。在這個(gè)類中,通過一個(gè)cameraID和一個(gè)cameraBase整形變量來確定訪問的設(shè)備文件,通過改變這兩個(gè)變量的值可訪問不同的攝像頭設(shè)備。,通過三個(gè)CameraPreview類,如CameraPreview1、CameraPreview2、CameraPreview3,分別訪問一個(gè)攝像頭。同時(shí)調(diào)用它們?nèi)齻€(gè)即可實(shí)現(xiàn)三攝像頭圖像采集。最后將三組采集的數(shù)據(jù)匯聚到一個(gè)程序中,實(shí)現(xiàn)全景圖像的合成。,簡(jiǎn)單圖像拼接,-17-,算法思想:由于在本系統(tǒng)中采集周圍圖像信息的三個(gè)攝像頭的相對(duì)位置是固定的。那么同一時(shí)間三個(gè)攝像頭所采集的圖像信息的重疊部分是始終不變的。那么可通過一組實(shí)例找到圖像重疊部分,拼接時(shí)就只需將已確定位置的重疊部分消去,再將剩余部分拼接在一起即可得到較為理想的全景圖像。,簡(jiǎn)單圖像拼接,-18-,簡(jiǎn)單拼接效果圖,圖像拼接Stitcher類,-19-,OpenCV2.4.0以上的版本提供了用于圖像拼接的stitcher類,其圖像拼接的基本過程如下: (1) 圖像預(yù)處理:對(duì)原始圖像進(jìn)行直方圖匹配、平滑濾波、增強(qiáng)變換等數(shù)字圖像處理的基本操作,為圖像拼接的下一步作好準(zhǔn)備。 (2) 圖像配準(zhǔn):這一步是整個(gè)圖像拼接流程的核心,配準(zhǔn)的精度決定了圖像的拼接質(zhì)量。精確配準(zhǔn)的關(guān)鍵是尋找一個(gè)能很好描述兩幅圖像轉(zhuǎn)換關(guān)系的數(shù)據(jù)模型。 (3) 圖像合成:確定了兩幅圖像之間的轉(zhuǎn)換關(guān)系模型,即重疊區(qū)域后,就需要根據(jù)重疊區(qū)域的信息將待拼接圖像拼接成一個(gè)包含全部圖像信息的全景圖,圖像拼接Stitcher類,-20-,Stitcher類拼接效果圖,兩種圖像拼接方法的簡(jiǎn)單比較,-21-,總結(jié)與展望,-2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論