您好 [登錄] [免費(fèi)注冊]
        歡迎來到123儀器網(wǎng)!24年專注 · 正品保障 · 閃電發(fā)貨

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

        2010-11-24

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

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

        代入上式,我們得到:
         
        這樣,從圖像中就能將焦平面到激光點(diǎn)像素數(shù)計算出來。那其他的常數(shù)怎么辦呢?我們需要執(zhí)行一個校準(zhǔn)來得到這些數(shù)據(jù)。
        為了校準(zhǔn)這個系統(tǒng),我們需要收集一系列測量的數(shù)據(jù),每次測得的目標(biāo)物的距離和這個激光點(diǎn)離中心點(diǎn)的像素數(shù)。數(shù)據(jù)如下
        校正數(shù)據(jù)
        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和真實(shí)距離計算出真實(shí)的角度:
         
         
        θactual=真實(shí)角度
        Dactual=真實(shí)距離(測量得出)
        現(xiàn)在我們有了公式中的每個數(shù)值,我們可以利用一個關(guān)系式來計算點(diǎn)離中點(diǎn)的像素數(shù)。我用了一個線性關(guān)系式。這個公式看起來很有用,……
        從我的校正數(shù)據(jù)中,我計算出:
        Offset (ro) = -0.056514344 radians
        Gain (rpc) = 0.0024259348 radians/pixel
        使用:
        下表是列舉了根據(jù)上面ro和rpc值計算出的距離值,實(shí)際距離值和誤差:
        實(shí)際和計算的測量數(shù)據(jù)
        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
        所需零部件
        我的測距儀沒有多少部件。我使用一塊硬紙板來固定激光發(fā)射器和攝像頭。攝像頭和激光發(fā)射器被平行的布置在一起。
         
        我組裝的測距儀是這樣的
         
        軟件
        我通過兩個方式編寫了這個軟件,一個是vc++,一個是VB。你能發(fā)現(xiàn)VB版本的軟件會比VC++的軟件更容易一些,但是各有取舍。VC++版本能夠自由的加入其他軟件中?VB版本需要第三方軟件支持(在Visual Studio中)
        Visual Basic
        vb_laser_ranger.zip
        這里可以下載到我的VB版本軟件。
        要使用上面的程序,你必須要安裝VideoOCX ActiveX 控件

        selaoban在线视频免费精品| 久久精品亚洲日本佐佐木明希| 久久99精品波多结衣一区| 精品国产一区二区三区免费看| 久久99精品久久久久久| 日韩精品中文字幕在线| 久久热这里只有精品在线观看| 亚洲国产精品尤物YW在线观看| 国产精品福利网站导航| 九九精品在线观看| www国产亚洲精品久久久日本| 国产毛片片精品天天看视频| 国内精品久久久久| 亚洲国产精品国产自在在线| 99re热免费精品视频观看| 无码人妻精品一区二区三区东京热 | 国产精品成人无码久久久| 日韩精品久久久久久免费| 精品国产亚洲男女在线线电影 | 亚洲av专区无码观看精品天堂| 国产精品无码无卡无需播放器| 国产精品成人免费一区二区| 99亚洲精品高清一二区| 久久久久久国产精品美女| 国产精品酒店视频| 无码人妻精品一区二区三区99性 | 国产偷伦精品视频| 精品国产一区二区三区久| 国产精品福利一区二区久久| 国产AV国片精品有毛| 国产精品无码专区在线观看| 久久久久久久久无码精品亚洲日韩| 999精品视频在线观看| 亚洲精品无码AV人在线播放 | 国产午夜精品理论片久久影视| 免费a级毛片18以上观看精品| 中文字幕精品一二三四五六七八| 亚洲国产精品不卡在线电影| 亚洲精品无码成人AAA片| 国产精品伦理久久久久久| 国产在线精品一区二区在线看|