您好 [登錄] [免費注冊]
      歡迎來到123儀器網!24年專注 · 正品保障 · 閃電發貨

      DIY基于攝像頭的激光測距儀

      2010-11-24

                                                               DIY基于攝像頭的激光測距儀

      有很多現成的測距組件包括超聲波、紅外線、甚至是激光測距儀。這些設備運行的很好,但是對于飛行機器人來說,重量是一個主要考慮因素。一個可行的辦法是增加現有組件的功能,并安裝在機身上。例如微型空中機器人的有效載荷是100g。它能利用USB連接的攝像頭(或mini無線攝像頭)執行視覺任務,例如避障等。更好的是,如采用兩個攝像頭,能提供立體的機器視覺,這樣能增強避障性能,因為雙鏡頭提供了視覺深度。但缺點是需要增加另外一個攝像頭的重量。這篇文章就是討論如何利用一個激光筆和一個攝像頭來提供一個單鏡頭機器視覺和測距的。
      這個項目很大一部分是基于下面這個教程的
      工作原理
      下圖顯示了如何將激光點投射到目標物上,并在攝像頭上顯示。攝像頭和激光點的距離是可以通過計算而得出的。公式很簡單,因此這個技術在需要很快運行的機器視覺應用上是適合的。
       
      介紹一下工作原理。一束激光被投射到目標物上,并在攝像頭上被顯示。激光束被認為是理想的平行于攝像頭的中心光軸。激光點由攝像頭的其余部分所捕獲。一個簡單的計算就是尋找亮點。如果設激光點就是這個場景的亮點(似乎在室內我的激光發射器確實是亮的),那么這個點的位置在圖幀中的位置是確定的。然后我們只需要計算這個點在沿著y軸的距離,就能計算出目標物離攝像頭的距離,激光點距離中心越近,離目標物越遠。
      如同公式所示,距離D是可以被計算出來的。
       
      為了計算這個等式,我們需要知道激光器和攝像頭之間的距離h,這是個常數,還有角度,角度可以計算。
       其中:
      pfc=從焦平面到中心的像素數量
      rpc=單個像素的弧度
      ro=弧度補償(彌補對齊錯誤)

      代入上式,我們得到:
       
      這樣,從圖像中就能將焦平面到激光點像素數計算出來。那其他的常數怎么辦呢?我們需要執行一個校準來得到這些數據。
      為了校準這個系統,我們需要收集一系列測量的數據,每次測得的目標物的距離和這個激光點離中心點的像素數。數據如下
      校正數據
      pixels from center actual D (cm)
      103 29
      81 45
      65 58
      55 71
      49 90
      45 109
      41 127
      39 159
      37 189
      35 218
      使用下面的公式,我們能夠利用激光器和攝像頭之間的距離h和真實距離計算出真實的角度:
       
       
      θactual=真實角度
      Dactual=真實距離(測量得出)
      現在我們有了公式中的每個數值,我們可以利用一個關系式來計算點離中點的像素數。我用了一個線性關系式。這個公式看起來很有用,……
      從我的校正數據中,我計算出:
      Offset (ro) = -0.056514344 radians
      Gain (rpc) = 0.0024259348 radians/pixel
      使用:
      下表是列舉了根據上面ro和rpc值計算出的距離值,實際距離值和誤差:
      實際和計算的測量數據
      pixels from center calc D (cm) actual D (cm) % error
      103 29.84 29 2.88
      81 41.46 45 -7.87
      65 57.55 58 -0.78
      55 75.81 71 6.77
      49 93.57 90 3.96
      45 110.85 109 1.70
      41 135.94 127 7.04
      39 153.27 159 -3.60
      37 175.66 189 -7.06
      35 205.70 218 -5.64
      所需零部件
      我的測距儀沒有多少部件。我使用一塊硬紙板來固定激光發射器和攝像頭。攝像頭和激光發射器被平行的布置在一起。
       
      我組裝的測距儀是這樣的
       
      軟件
      我通過兩個方式編寫了這個軟件,一個是vc++,一個是VB。你能發現VB版本的軟件會比VC++的軟件更容易一些,但是各有取舍。VC++版本能夠自由的加入其他軟件中?VB版本需要第三方軟件支持(在Visual Studio中)
      Visual Basic
      vb_laser_ranger.zip
      這里可以下載到我的VB版本軟件。
      要使用上面的程序,你必須要安裝VideoOCX ActiveX 控件

      久久中文字幕精品| 亚洲欧美成人久久综合中文网| 最近免费2019中文字幕大全| 无码人妻AV一二区二区三区| 亚洲精品中文字幕无码蜜桃| 国产激情无码视频在线播放性色| 中文字幕无码av激情不卡久久| 亚洲午夜无码AV毛片久久| 无码乱人伦一区二区亚洲| 亚洲天堂中文字幕在线| 中文字幕Av一区乱码| 国产乱子伦精品无码专区| 无码专区天天躁天天躁在线| 天堂中文字幕在线| 久久婷婷综合中文字幕| 无码国内精品久久人妻麻豆按摩 | 99热门精品一区二区三区无码| 国模无码人体一区二区| 中文字幕无码乱人伦| 本道天堂成在人线av无码免费| 无码伊人66久久大杳蕉网站谷歌 | 亚洲乱亚洲乱妇无码麻豆| 中文字幕精品一区二区三区视频| 中文亚洲欧美日韩无线码| 中文字幕久久久久人妻| 中文字幕精品无码久久久久久3D日动漫 | 久久亚洲中文字幕精品一区四| 欧美 亚洲 日韩 中文2019| 无码人妻精品一区二区三区99不卡| 日韩精品无码一区二区三区免费 | 最近中文字幕完整版资源| 人妻丰满熟妇A v无码区不卡 | 久久无码精品一区二区三区| 超清无码无卡中文字幕| 粉嫩高中生无码视频在线观看| 秋霞鲁丝片Av无码少妇| 精品无码国产污污污免费网站| 国产成A人亚洲精V品无码性色| av无码久久久久久不卡网站| 高清无码视频直接看| 日韩乱码人妻无码中文字幕视频|