《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于嵌入式Linux的雙目測距系統研究
基于嵌入式Linux的雙目測距系統研究
2015年微型機與應用第5期
謝永超,王進華
(福州大學 電氣工程與自動化學院,福建 福州 350108)
摘要: 根據嵌入式系統的特點,設計了以ARM為核心的雙目立體視覺測距系統。系統使用雙目立體攝像頭采集圖像數據,可設置圖像的多種屬性。利用開源計算機視覺庫OpenCV對采集的圖像數據進行處理,分別完成了兩臺攝像機標定、匹配、重建等工作,最后實現攝像機測距功能。實驗結果表明,該系統測量結果合理,工作穩定,同時可用Qt/Embedded實時顯示圖像和數據,具有良好的人機交互功能和跨平臺移植性。
Abstract:
Key words :

  摘  要: 根據嵌入式系統的特點,設計了以ARM為核心的雙目立體視覺測距系統。系統使用雙目立體攝像頭采集圖像數據,可設置圖像的多種屬性。利用開源計算機視覺庫OpenCV對采集的圖像數據進行處理,分別完成了兩臺攝像機標定、匹配、重建等工作,最后實現攝像機測距功能。實驗結果表明,該系統測量結果合理,工作穩定,同時可用Qt/Embedded實時顯示圖像和數據,具有良好的人機交互功能和跨平臺移植性。

  關鍵詞: 嵌入式;計算機視覺庫;立體視覺;雙目測距

0 引言

  雙目立體視覺測距是計算機視覺技術中的一個分支,也是計算機視覺研究的重點和熱點之一。它通過雙攝像機模擬人眼的功能,對三維世界進行立體感知,恢復物體的三維幾何信息。隨著機器視覺理論的發展,雙目立體視覺在機器視覺研究中發揮了越來越來越重要的作用,具有廣泛的適用性[1]。

  嵌入式ARM因處理速度快、使用方便、操作系統開源等特點而廣泛應用。目前,雙目視覺系統多是基于PC平臺實現[2],而在嵌入式系統中,因其屏幕尺寸、處理速度等硬件資源受到限制,測距系統的實現具有新特點。本文以嵌入式處理器作為硬件核心,構建基于嵌入式系統的雙目測距系統,并具有圖像的實時顯示功能。

1 雙目測距原理

  1.1 攝像機模型

001.jpg

  攝像機的針孔模型如圖1所示,攝像機之外物體X通過穿過針孔平面的針孔,光束在圖像平面成像,形成圖像x。其中,f為攝像機焦距,Z為攝像機與物體間距離。

  根據相似三角原理可得:

  1.png

  1.2 雙目測距模型

002.jpg

  利用針孔模型,可以得到雙目測距模型[3]。如圖2所示,Ol、Or分別為兩攝像機的光心,焦距為f1、f2。光軸經過兩個像平面的主點cl、cr。假設兩攝像機的像平面精確共面,圖像行對準,光軸嚴格平行,并且具有相同的焦距f(以上這些假設都是需要后面實現的)。物理世界中的P在左右平面上的成像點為pl、pr,對應橫坐標xl、xr。

  視差定義為d=xl-xr。根據相似三角形原理,以左攝像機光心為原點,可以得到左攝像機坐標系下的深度Z:

  2.png

2 實驗平臺

  本系統主要分為硬件和軟件兩類。硬件是以S3C2440A為核心的ARM嵌入式開發平臺。S3C2440A以ARM920T為核心,低功耗,簡單,適合于成本和功耗敏感的應用。使用CMOS立體攝像頭視頻流數據,圖片格式JPEG。LCD液晶顯示器負責圖像數據的顯示和人機交互。軟件部分由攝像頭及屏幕驅動程序、OpenCV圖像處理算法、QT主程序設計等組成。

  開放源代碼的計算機視覺類OpenCV是由一些C函數和C++類所組成的庫,用來實現圖像處理和常用的計算機圖像算法。具有開發效率高、執行速度快等優點。使用C函數和C++類可進行跨平臺移植,因此可以很好地應用于工程實際當中。

  QT是跨平臺C++圖形用戶界面工具。它特有的“信號-插槽”機制是QT編程的基礎,當一個特定事件發生的時候,一個信號被發射。因此,執行按鈕等事件時,可以方便地執行各個功能,如界面切換、顯示和關閉等。本嵌入式系統的功能框圖如圖3所示,其功能都是利用“信號-插槽”機制實現。

003.jpg

3 系統實現

  3.1圖像采集

  獲取立體圖像是圖像處理的基礎,圖像質量受到光照條件、攝像機性能以及景物特點等因素的影響。因此,獲得高質量的立體圖像是雙目測距前提。

  V4L2(Video 4 Linux 2)是針對免驅USB設備的編程框架,主要用于采集USB攝像頭。為了更方便地調節視頻設備的屬性,本系統并沒有使用OpenCV獲取圖像,而是調用V4L2的接口函數。在Linux系統編程中,一般使用ioct()函數來對設備的I/O通道進行管理[4]。

  針對本嵌入式的特點,使用ioct()函數可以設置圖片亮度、對比度、格式、尺寸,如設置320×240或者640×480的分辨率,以適應屏幕大小。

004.jpg

  系統圖像采集過程如圖4所示。其中,圖像處理階段若是處在獲取標定,可以用Opencv中的“角點檢測”函數計算角點個數,以判斷角點圖的好壞。在測距時,可以完成圖像的處理。利用V4L2采集圖像的主要過程如下:

  (1)fd=open(″dev/video0″,O_RDWR),打開設備文件,即左、右攝像機。

 ?。?)ioctl(fd,VIDIOC_QUERYSTD,&std),取得設備的功能,查看設備具有什么功能。

 ?。?)ioctl(fd,VIDIOC_S_FMT,&fmt),設置攝像機視頻圖片格式。

 ?。?)ioctl(fd,VIDIOC_REQBUFS,&req),向驅動申請幀緩沖。

 ?。?)mmap(),申請物理內存,并將申請到的幀緩沖映射到用戶空間。

 ?。?)ioctl(fd,VIDIOC_STREAMON,&type),開始視頻的采集。

 ?。?)ioctl(fd,VIDIOC_DQBUF,&buf),出隊列以取得已采集數據的幀緩沖,取得原始采集數據。

  (8)ioctl(fd,VIDIOC_STREAMOFF,&type),停止視頻的采集,然后使用munmap()函數刪除映射。

  (9)close(fd),關閉視頻設備。

  3.2 基于QT的圖像顯示

  在OpenCV中,圖片是IplImage類型,IplImage類型圖片的每個像素點是由24位的三通道B、G、R(藍、綠、紅)三種顏色組成。若使用QT庫內與圖像處理與顯示有關的QImage類,QImage類顏色的排列順序為R、G、B(紅、綠、藍)。為使IplImage類圖像能夠在QT圖像界面中顯示,又不降低視頻圖像質量,需要通過程序將BGR圖像轉化為RGB圖像,即交換R通道與B通道的順序,可采用cvCvtColor()函數。由于本系統QT的特殊性,圖片不能直接顯示,可將圖像顯示在label上。采用如下語句進行轉換及顯示:

  QLabel label(this);

  cvCvtColor(frame,frame,CV_RGB2BGR);

  QImage image=QImage((const uchar*)frame->imageData,

  frame->width,frame->height,QImage::Format_RGB888);

  label.setPixmap(QPixmap::fromImage(image));

  label.show();

  3.3 攝像機標定

  在雙目視覺中,可以通過兩幅二維圖像對應像素點計算得到三維世界坐標與二維世界坐標的對應關系,以此得到物體的三維坐標值[5]。

  光軸與圖像平面的交點與中心的偏移形成兩個攝像機的內cx、cy。單個像素點在成像儀上是矩形,形成另外兩個x、y方向上的焦距內參fx、fy。這樣,可以得到攝像機的內矩陣M,將物理世界的點Q(X,Y,Z)投影到攝像機上q(x,y),利用齊次坐標,可表示為:

  q=MQ(3)

  其中,M=fx  0 cx0 fy cy0 0 1,q=xy1,Q=XYZ

  透鏡的球形形狀產生徑向畸變k1、k2、k3,在成像儀上徑向位置按下式進行調節:

  4.png

  透鏡與圖像不平衡產生切向畸變,用兩個參數p1和p2表示:

  5.png

  其中,(x,y)是原來的點,(xcorrected,ycorrected)為修正后的點。

  兩攝像機之間的旋轉矩陣R和平移向量T構成了攝像機的外參。OpenCV中利用cvStereoCalibrate()函數和多幅棋盤角點圖(圖5)進行立體標定。

005.jpg

  3.4 立體校正

  在實際應用中,攝像機幾乎不可能像圖1那樣嚴格地前向平行對準,但可以通過數學方法計算投影圖和畸變圖,從而將左右攝像機圖像校正為前向平行對準[6]。立體校正的目的就是使得兩臺攝像機準確共面并且相對準,因此需要進行校正。

  立體校正算法有非標定校正(如Hartley算法)等。其可以簡單地通過場景中觀察點完成校正,然而不可獲知圖像比例。Bouguet算法為標定立體算法,使用兩臺攝像機之間的旋轉和平移參數進行校正計算。Bouguet立體校正可使得兩圖像中的每一幅重投影次數都最小化,同時使得觀測面積最大化。

  通過OpenCV中cvStereoRectify()立體校正函數,可以得到重投影矩陣Q:

  6.png

  3.5 立體匹配

  圖像立體匹配實質上解決了對不同時間或空間位置下獲取的同一物體的兩幅或多幅圖像信息在位置空間或灰度空間上尋找對應匹配像素點的問題。簡言之,尋找這些圖像中相同物體的對應像素點。

  立體匹配找到兩個不同攝像機圖像中具有相同特征的點。OpenCV中有BM算法、SGBM算法、GC算法等。其中BM算法測距速度很快,可以達到實時應用的要求,SGBM算法和GC(Graph Cuts)算法的測距速度較慢,而BM算法誤差只比SGBM算法稍大,故系統采用BM算法[7]。BM塊匹配算法cvFindStereoCorrespondenceBM()函數,使用“絕對誤差累計”,查找左右兩幅立體校正圖像之間的匹配點,匹配代價函數:

  7.png

  其中E表示匹配窗口灰度均值,D為匹配窗口,d為窗口的位移量。代價越小,匹配度越高。通過規定視差的搜索范圍構成一個雙目視界。

  3.6 三維重建

  利用立體匹配得到的視差d、圖像中通過角點檢測到的點(x,y)以及由立體校正得到的投影矩陣Q,可得到3D深度:

  8.png

  其中三維坐標就是(X/W,Y/W,Z/W)。Opencv中的函數cvReprojectImageTo3d(),該函數輸入視差數據和每個像素坐標,輸出所需的三維點陣,這樣就可以提取物體的深度信息。

4 實驗結果

  OpenCV利用張正友標定法,使用20幅擺放在不同位置的平面黑白棋盤圖,對攝像機標定。在應用過程中,攝像機標定誤差及系統結構參數對系統測量精度有著不同程度的影響[8],采取優化方法后的攝像機內參數如下。

  左攝像機內參數為:

 912.jpg

  利用上述參數,使用該系統測量多個目標物體的距離,將測量值與實際值進行比較,得到表1所示結果。

  實驗表明,攝像機間的距離約36.5 mm時,在300~2 500 mm的實驗范圍內,系統能夠識別匹配物體的圖像,得出物體的距離的測量誤差在10%以內。系統測距較為準確。但隨著距離的增加,導致匹配效果較差,誤差有逐漸擴大的趨勢。物體距離為2 500 mm時,測量距離誤差已超過100 mm。因此,本系統暫不適合遠距離測距。為提高測距精度,可從以下幾個方面入手:增加標定圖像數目,增加基線長度,調整相應參數,變換圖像處理方法,增大焦距等。如何更有效地減少測量誤差,擴大測距范圍,需要以后不斷研究和改進。

參考文獻

  [1] 趙鵬.機器視覺理論及應用[M].北京:電子工業出版社,2011.

  [2] 王杰,孟浩,張潔.基于嵌入式Linux的雙目測距系統研究[J].世界科技研究與發展,2014,36(3):263-267.

  [3] BRADSKI G, KAEHLER A. 學習OpenCV[M]. 于仕琪,劉瑞禎,譯. 北京:清華大學出版社,2009.

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

  [5] 陳勝勇,劉盛.基于OpenCV的計算機視覺技術實現[M].北京:科學出版社,2008.

  [6] 任繼昌,楊曉東.基于角點檢測的雙目視覺測距新方法[J].電光與控制,2013,20(7):93-95.

  [7] 王浩,許志聞,謝坤,等.基于OpenCV的雙目測距系統[J].吉林大學學報(自然科學版),2014,32(2):188-193.

  [8] 肖志濤,張文寅,耿磊.雙目視覺系統測量精度分析[J].光電工程,2014,41(2):6-11.


此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          午夜精品久久久99热福利| 免费一级欧美片在线播放| 亚洲国产视频a| 亚洲午夜精品17c| 久久激情视频| 老鸭窝毛片一区二区三区| 久久蜜桃资源一区二区老牛| 国产综合第一页| 国外成人在线视频网站| 国产午夜精品全部视频播放| 亚洲人成艺术| 午夜精彩国产免费不卡不顿大片| 亚洲网站在线看| 欧美精品电影在线| 亚洲激情成人| 欧美在线欧美在线| 欧美一区二视频在线免费观看| 欧美在线观看视频| 欧美丝袜一区二区| 欧美日韩国产一区二区三区| 香蕉久久夜色| 欧美日韩岛国| 欧美精品三级在线观看| 亚洲国产精品免费| 亚洲伊人网站| 在线观看欧美亚洲| 欧美国产激情二区三区| 午夜精品久久久久久久99热浪潮| 国产一区二区电影在线观看| 欧美 亚欧 日韩视频在线| 亚洲香蕉视频| 亚洲视频网在线直播| 亚洲第一页中文字幕| 欧美日韩国产综合视频在线观看| 欧美电影免费观看高清完整版| 亚洲国产精品一区在线观看不卡| 国产精品午夜在线观看| 欧美日韩国产麻豆| 欧美国产欧美亚州国产日韩mv天天看完整| 欧美国产高潮xxxx1819| 亚洲制服av| 欧美久久九九| 欧美另类一区| 欧美高清在线| 欧美国产高潮xxxx1819| 亚洲三级性片| 欧美三日本三级三级在线播放| 狠狠色综合播放一区二区| 欧美日韩一区二区免费视频| 国产亚洲视频在线| 嫩草影视亚洲| 久久国产日本精品| 影音先锋久久资源网| 亚洲视频你懂的| 欧美精品在欧美一区二区少妇| 销魂美女一区二区三区视频在线| 欧美性开放视频| 伊人一区二区三区久久精品| 欧美日韩国产综合视频在线观看| 蜜桃av一区二区三区| 国产亚洲欧美日韩美女| 狠狠入ady亚洲精品经典电影| 亚洲美女在线观看| 91久久精品美女高潮| 亚洲国产精品久久久久久女王| 亚洲男女自偷自拍| 欧美在线一级视频| 欧美电影在线免费观看网站| 中文久久乱码一区二区| 国产精品va在线播放| 午夜欧美视频| 国产精品成人免费视频| 欧美午夜片欧美片在线观看| 欧美性片在线观看| 国产精品99一区二区| 欧美日韩岛国| 国产精品网站在线播放| 国产精品三级久久久久久电影| 亚洲大片免费看| 欧美日韩一区视频| 夜夜爽www精品| 久久久久免费观看| 亚洲老司机av| 亚洲精品少妇| 欧美xxxx在线观看| 精品不卡视频| 国产区在线观看成人精品| 久久久不卡网国产精品一区| 国内精品久久久久影院 日本资源| 欧美激情精品久久久久久免费印度| 国产字幕视频一区二区| 国产一本一道久久香蕉| 国产麻豆9l精品三级站| 欧美xxxx在线观看| 国产欧美精品一区二区三区介绍| 狠狠色伊人亚洲综合网站色| 国产亚洲二区| 午夜久久福利| 久久免费少妇高潮久久精品99| 国产精品v欧美精品∨日韩| 欧美色一级片| 国产亚洲欧美一区在线观看| 国产日韩欧美在线看| 欧美一区二区视频观看视频| 亚洲日本成人网| 亚洲图色在线| 正在播放日韩| 激情视频一区二区| 久久精品一区中文字幕| 国产欧美三级| 9久草视频在线视频精品| 欧美一级视频免费在线观看| 欧美一区网站| 99riav久久精品riav| 亚洲国产欧美日韩另类综合| 欧美国产欧美综合| 亚洲在线播放| 国产精品国产三级国产a| 国产亚洲欧美另类中文| 午夜视频在线观看一区二区三区| 欧美日韩一二区| 久久久91精品国产一区二区三区| 狠狠色香婷婷久久亚洲精品| 亚洲综合好骚| 狠狠色狠狠色综合日日91app| 欧美小视频在线观看| 国产乱码精品一区二区三| 欧美激情1区2区| 欧美午夜视频网站| 黑人一区二区三区四区五区| 欧美成人三级在线| 亚洲高清中文字幕| 在线免费观看欧美| 免费在线欧美黄色| 国产日韩欧美亚洲一区| 亚洲欧美bt| 欧美视频你懂的| 亚洲一区3d动漫同人无遮挡| 国产欧美一区二区精品性色| 亚洲视频999| 欧美极品一区二区三区| 亚洲午夜女主播在线直播| 噜噜噜91成人网| 欧美国产欧美综合| 亚洲欧洲精品一区二区三区不卡| 欧美国产日韩a欧美在线观看| 99热这里只有成人精品国产| 久久久青草青青国产亚洲免观| 欧美高清不卡在线| 亚洲欧美三级伦理| 国内成+人亚洲+欧美+综合在线| 亚洲一区国产| 亚洲乱码一区二区| 国产性色一区二区| 国产精品推荐精品| 亚洲欧美区自拍先锋| 国产精品成人一区二区艾草| 亚洲精品一区在线观看香蕉| 一区二区三区精品视频在线观看| 亚洲第一福利视频| 午夜精品久久一牛影视| 国产女人18毛片水18精品| 欧美日韩一区二区免费视频| 久久人人97超碰精品888| 欧美成人一区二区三区在线观看| 久久久在线视频| 欧美日韩一区二区三区四区在线观看| 国产精品高潮粉嫩av| 欧美在线你懂的| 在线观看国产成人av片| 欧美日韩亚洲一区二区三区在线观看| 一本久久综合| 亚洲精品免费一区二区三区| 中文网丁香综合网| 亚洲天堂第二页| 久久成人资源| 黑人极品videos精品欧美裸| 亚洲自拍16p| 欧美日韩在线另类| 亚洲欧洲精品天堂一级| 国产精品一区二区在线观看网站| 国产乱子伦一区二区三区国色天香| 欧美精品一区二区高清在线观看| 国产乱码精品一区二区三区忘忧草| 日韩视频免费看| 宅男噜噜噜66国产日韩在线观看| 亚洲永久视频| 国产亚洲精品v| 国产精品日韩一区| 欧美一区二区三区电影在线观看| 久久成人免费电影| 午夜精品一区二区三区在线| 136国产福利精品导航网址应用| 欧美大片国产精品| 国产精品每日更新在线播放网址| 久久午夜激情| 美女国内精品自产拍在线播放| 亚洲精品免费一二三区| 亚洲美女中出| 夜夜嗨av一区二区三区网站四季av| 在线天堂一区av电影| 在线观看亚洲专区| 国产精品国产三级国产普通话三级| 亚洲国产精品视频一区| 欧美成人免费va影院高清| 一本大道久久a久久精品综合| 欧美一区二区视频观看视频| 久久久久www| 亚洲美女视频在线观看| 欧美国产精品中文字幕| 亚洲美女视频在线观看| 欧美日韩精品免费观看| 久久久久久久久岛国免费| 欧美中文字幕在线视频| 亚洲国产成人91精品| 久久久久成人网| 亚洲一区视频| 午夜精品视频在线观看一区二区| 亚洲视频电影图片偷拍一区| 欧美怡红院视频一区二区三区| 亚洲国产成人不卡| 91久久极品少妇xxxxⅹ软件| 精品999日本| 亚洲国产一区二区三区在线播| 国产精品海角社区在线观看| 亚洲国产成人不卡| 正在播放亚洲一区| 亚洲免费影视| 国产精品一区免费观看| 国产女人水真多18毛片18精品视频| 黄色精品一区二区| 一区二区在线视频观看| 亚洲性感激情| 国产一区二区三区电影在线观看| 亚洲国产精品欧美一二99| 欧美色图一区二区三区| 在线精品国产成人综合| 一区二区三区精品久久久| 欧美xxxx在线观看| 在线观看欧美精品| 久久亚洲春色中文字幕久久久| 国产精品久久久久国产a级| 久久精品国产综合精品| 一区二区三区波多野结衣在线观看| 久久字幕精品一区| 久久成人精品视频| 一区二区三区四区五区精品视频| 欧美大片在线观看一区二区| 欧美裸体一区二区三区| 国产精品久久国产愉拍| 久久五月激情| 免费在线观看日韩欧美| 亚洲蜜桃精久久久久久久| 亚洲二区视频在线| 亚洲欧洲在线视频| 国产欧美一区二区色老头| 久久激情婷婷| 国产精品久久久久婷婷| 国产日韩精品一区二区三区在线| 欧美精品激情在线观看| 性做久久久久久久久| 欧美精品999| 亚洲电影在线观看| 国产精品国产三级国产aⅴ9色| 99人久久精品视频最新地址| 欧美成人小视频| 欧美伊人久久久久久久久影院| 欧美日韩在线观看一区二区| 欧美成人r级一区二区三区| 亚洲国产国产亚洲一二三| 国产欧美视频一区二区| 欧美日韩国产系列| 亚洲午夜小视频| 小处雏高清一区二区三区| 亚洲精品国产精品乱码不99| 一区二区欧美日韩| 亚洲福利在线视频| 欧美日韩视频在线观看一区二区三区| 国产色婷婷国产综合在线理论片a| 黄色小说综合网站| 欧美理论在线播放| 欧美亚洲视频在线观看| 国产精品亚洲激情| 午夜精品久久| 永久免费视频成人| 在线观看国产成人av片| 久久久精品tv| 日韩视频免费观看高清完整版| 国产一区二区中文| 久久久精品一区| 国产精品一区二区在线观看不卡| 激情小说亚洲一区| 亚洲国产高清高潮精品美女| 国产精品v亚洲精品v日韩精品| 欧美日韩亚洲一区二| 久久高清福利视频| 亚洲日本在线视频观看| 夜夜嗨一区二区三区| 久久国产精品久久久久久久久久| 欧美母乳在线| 欧美日韩在线看| 亚洲观看高清完整版在线观看| 巨胸喷奶水www久久久免费动漫| 永久91嫩草亚洲精品人人| 国产精品久久久久高潮| 欧美午夜久久久| 蜜臀99久久精品久久久久久软件| 免费一区二区三区| 日韩西西人体444www| 亚洲国产三级| 黄色精品免费| 一区二区三区四区国产精品| 国产精品久久久久一区二区三区共| 欧美午夜精品伦理| 在线观看视频一区| 久久国内精品自在自线400部| 欧美插天视频在线播放| 欧美亚州一区二区三区| 久久欧美肥婆一二区| 欧美日韩免费一区二区三区| 国产精品久久久久aaaa樱花| 亚洲精品免费电影| 校园激情久久| 亚洲激情六月丁香| 老色鬼久久亚洲一区二区| 亚洲日本在线观看| 狠色狠色综合久久| 欧美不卡激情三级在线观看|