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

        DIY基于攝像頭的激光測(cè)距儀

        2010-11-24

                                                                 DIY基于攝像頭的激光測(cè)距儀

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

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

        aaaaaa精品视频在线观看 | 四虎永久精品免费观看| 亚洲高清专区日韩精品| 久久亚洲精品中文字幕无码| 精品99在线观看| 成品人和精品人的区别在哪里 | 最新国产精品无码| 国产精品一区二区久久乐下载| 亚洲精品在线视频观看| 好属妞这里只有精品久久| 亚洲国产综合精品一区在线播放| 无码人妻精品一区二区蜜桃| 亚欧洲精品在线视频免费观看| 亚洲精品在线观看视频| 久久精品国产黑森林| 国产午夜亚洲精品不卡电影| 在线精品国精品国产尤物| 97在线精品视频| 最新国产午夜精品视频成人 | 漂亮人妻被黑人久久精品| 丰满人妻熟妇乱又伦精品| 精品国产一区二区三区AV性色| 国产精品自拍亚洲| 国产suv精品一区二区33| 99re6在线视频精品免费| 亚洲精品无码你懂的网站| 步兵精品手机在线观看| 日本精品在线观看视频| 亚洲精品无码久久久久牙蜜区| 九九精品成人免费国产片| 国产在线观看高清精品| 国产香蕉国产精品偷在线| 国产免费久久精品丫丫| 国产精品美女久久久网AV| 国产av无码久久精品| 日韩精品一区在线| 国产精品白嫩在线观看| 国内精品久久久久影视| 国产精品香蕉成人网在线观看| 精品伊人久久久久网站| 精品一二三区久久aaa片|