91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

電子發(fā)燒友App

硬聲App

掃碼添加小助手

加入工程師交流群

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>Netduino上的立體視覺

Netduino上的立體視覺

2022-11-08 | zip | 3.01 MB | 次下載 | 免費

資料介紹

描述

立體視覺一直是提取 3D 信息的最復(fù)雜和資源密集的過程之一。Netduino 3 以太網(wǎng)板配備 Cortex-M4 168 Mhz 微處理器,能夠?qū)ι倭繄D像數(shù)據(jù)進行密集執(zhí)行。

該板還帶有 4 個可供使用的 UART 端口,非常適合串行通信相機。

我們能夠支持 OV528 協(xié)議與兩個串行相機進行通信并獲取兩張靜止物體的連續(xù)照片。在不久的將來,我們將應(yīng)用其中一種立體視覺算法從獲取的圖像中提取 3D 信息。

該系統(tǒng)分為兩部分:項目的第一部分將管理硬件并按需獲取立體圖像,然后項目的第二部分將在內(nèi)部計算所捕捉對象的 3D 坐標(biāo)。

成分

?
?
poYBAGNomOWAXgKGAAK3LZB_8gw267.jpg
?
1 / 3 ? Netduino 3 以太網(wǎng)
?

電腦立體視覺系統(tǒng)

立體視覺系統(tǒng)由一對已知水平位移和對稱對齊的數(shù)碼相機組成。這些數(shù)碼相機同時獲取圖像并計算 3D 空間信息。

我們將兩個攝像頭連接到木尺上,以測試攝像頭之間的不同水平位移以及它如何影響 3D 計算測量值。目前我們所做的唯一檢查是將相機與它們的焦軸(鏡頭中心)分開 3 英寸。

該系統(tǒng)由兩個能夠捕捉高達 640x480 圖像的串行相機組成。我們選擇選擇 320x240 的分辨率,以便更輕松地處理數(shù)據(jù)。尺寸越小,所需的處理資源就越少。

?
?
?
?
poYBAGNomOqAZce3AAH325KarcM623.jpg
?
1 / 3 ?幾個攝像頭對齊
?

目前,錄制過程是順序的:設(shè)置攝像頭進行捕獲,發(fā)送快照命令,最后將圖像緩沖區(qū)讀取到應(yīng)用程序。對攝像機 1 完成此過程,然后對攝像機 2 重復(fù)此過程。

圖像數(shù)據(jù)保存在 Netduino 3 的 SD 卡中。

if (_button.Read())
           {
               //Record image from camera 1
               Set4Capture(Camera1);
               Snap(Camera1);
               GetImage(Camera1);
               //Record image from camera 2
               Set4Capture(Camera2);
               Snap(Camera2);
               GetImage(Camera2);
           }

請注意,我們的目標(biāo)不是實時 3D 計算和顯示,而是更多用于 3D 掃描的對象建模。

UART通信

Netduino 3 最多支持 4 個 UART 通道。我們使用 UART COM1 和 UART COM2 連接相機。

?
pYYBAGNomO2AAsskAACzZunGlco529.jpg
?

.NET MicroFramework 通過定義一個事件回調(diào)函數(shù)來支持 UART 設(shè)備,當(dāng)系統(tǒng)通過一個活動端口接收到信息時將觸發(fā)該回調(diào)函數(shù)。

//Set event callback function  
       Camera2.DataReceived += SerialDataReceived;
       Camera1.DataReceived += SerialDataReceived;

事件函數(shù)定義如下。兩個攝像頭調(diào)用相同的事件函數(shù)并在內(nèi)部檢查以查看哪個實例進行了調(diào)用。

接收到的數(shù)據(jù)存儲在本地內(nèi)存數(shù)組中,然后移動到全局變量中,以便我們可以訪問它。接收到的數(shù)據(jù)量也被保存到一個全局變量中。

static void SerialDataReceived(object sender, SerialDataReceivedEventArgs e)
   {
       if ((e.EventType == SerialData.Chars) && (sender == Camera1))
       {
           const int BUFFER_SIZE = 1024;
           byte[] buffer = new byte[BUFFER_SIZE];
           int amount = ((SerialPort)sender).Read(buffer, 0, BUFFER_SIZE);
           if (amount > 0)
           {
               for (int index = 0; index < amount; index++)
               {
                   messageFromCam1[index] = buffer[index];
               }
               dataRead1 = true;
               dataSize1 = amount;
           }
       }
       else if ((e.EventType == SerialData.Chars) && (sender == Camera2))
       {
           const int BUFFER_SIZE = 1024;
           byte[] buffer = new byte[BUFFER_SIZE];
           int amount = ((SerialPort)sender).Read(buffer, 0, BUFFER_SIZE);
           if (amount > 0)
           {
               for (int index = 0; index < amount; index++)
               {
                   messageFromCam1[index] = buffer[index];
               }
               dataRead1 = true;
               dataSize1 = amount;
           }
       }
   }

發(fā)送命令并等待響應(yīng)后的事件同步仍然是我們尚未克服的挑戰(zhàn)。我們將研究信號量或臨界區(qū)。復(fù)雜性是由于董事會實現(xiàn)了一個循環(huán)調(diào)度程序,該調(diào)度程序在等待變量更改狀態(tài)時添加了無限循環(huán)。這可能會使進程死鎖并將事件進程設(shè)置為饑餓模式。我們將在了解如何同步事件后立即報告項目的第二部分。

與此同時,我們通過蠻力解決同步問題。換句話說,如果我們沒有收到我們期望的確認流,那么我們會再次發(fā)送命令,直到收到正確的響應(yīng)。您可以在下面的代碼中看到它。

           while (true)
           {
               clearBuffer(camDevice);
               sendCmd(camDevice, cmd, 6);
               cmdRet = readReply(camDevice, resp, ref dS2R);
               if (!cmdRet && dS2R < 6) continue;
               if (resp[0] == 0xaa && resp[1] == (0x0e | cameraAddr) && resp[2] == 0x0d && resp[4] == 0 && resp[5] == 0)
               {
                   if (dS2R == 12)
                   {
                       if (resp[6] == 0xaa && resp[7] == (0x0d | cameraAddr) && resp[8] == 0 && resp[9] == 0 && resp[10] == 0 && resp[11] == 0)
                           break;
                   }
               }
           }

請注意,我們使用的是無限循環(huán)。發(fā)送初始化命令,檢查是否收到了確認響應(yīng),如果不是預(yù)期的響應(yīng),則再次重復(fù)該過程。

相機在處理完命令后會清除命令緩沖區(qū),因此相機在處理完前一個命令后就準(zhǔn)備好接受新命令。

這種方法最終會奏效,但它可能會更快。

相機協(xié)議OV528

下表顯示了可用于使用 OV528協(xié)議對串行攝像頭進行編程的命令。該協(xié)議基于以六字節(jié)字節(jié)指定的命令。根據(jù)發(fā)送的命令,發(fā)送回相同大小或雙倍的確認。

命令通過 UART 端口發(fā)送并同步以接收確認。

?
poYBAGNomO-AeTzCAADpiY-nXjA999.jpg
OV528 協(xié)議
?

我們的配置將相機設(shè)置為獲取 320x240 8 位顏色的分辨率。該協(xié)議非常簡單明了。

實驗

我們使用了距攝像機中心視野 3 英寸的單個水平位移。使用兩個靜止物體來獲取立體圖像,系統(tǒng)設(shè)置如下圖所示。

?
poYBAGNomPOARF0-AAJ3udSinQg944.jpg
立體視覺系統(tǒng)在行動
?

從系統(tǒng)獲取的立體圖像并未完全對齊,但這是一個很好的起點,可以測試我們將在項目下一階段實施的可能立體視覺算法的穩(wěn)健性。

?
?
?
?
poYBAGNomPaAY_NQAAAZtKThlYY115.jpg
?
1 / 2 ?貓形象的立體圖像
?

未來的工作

在項目的第二部分,我們將

  • 改進命令同步
  • 內(nèi)部計算深度圖
  • 允許選擇不同的分辨率
  • 實施簡單的預(yù)覽模式以正確對齊相機。

?


3D 立體視覺 Netduino
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1新一代網(wǎng)絡(luò)可視化(NPB 2.0)
  2. 3.40 MB  |  1次下載  |  免費
  3. 2冷柜-電氣控制系統(tǒng)講解
  4. 13.68 MB   |  1次下載  |  10 積分
  5. 3MDD品牌三極管MMBT3906數(shù)據(jù)手冊
  6. 2.33 MB  |  次下載  |  免費
  7. 4MDD品牌三極管S9012數(shù)據(jù)手冊
  8. 2.62 MB  |  次下載  |  免費
  9. 5LAT1218 如何選擇和設(shè)置外部晶體適配 BlueNRG-X
  10. 0.60 MB   |  次下載  |  3 積分
  11. 6LAT1216 Blue NRG-1/2 系列芯片 Flash 操作與 BLE 事件的互斥處理
  12. 0.89 MB   |  次下載  |  3 積分
  13. 7收音環(huán)繞擴音機 AVR-1507手冊
  14. 2.50 MB   |  次下載  |  免費
  15. 8MS1000TA 超聲波測量模擬前端芯片技術(shù)手冊
  16. 0.60 MB   |  次下載  |  免費

本月

  1. 1愛華AIWA HS-J202維修手冊
  2. 3.34 MB   |  37次下載  |  免費
  3. 2PC5502負載均流控制電路數(shù)據(jù)手冊
  4. 1.63 MB   |  23次下載  |  免費
  5. 3NB-IoT芯片廠商的資料說明
  6. 0.31 MB   |  22次下載  |  1 積分
  7. 4UWB653Pro USB口測距通信定位模塊規(guī)格書
  8. 838.47 KB  |  5次下載  |  免費
  9. 5蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
  10. 0.04 MB   |  4次下載  |  1 積分
  11. 6蘇泊爾DCL6909(即CHK-S009)單芯片電磁爐原理圖資料
  12. 0.08 MB   |  2次下載  |  1 積分
  13. 7100W準(zhǔn)諧振反激式恒流電源電路圖資料
  14. 0.09 MB   |  2次下載  |  1 積分
  15. 8FS8025B USB的PD和OC快充協(xié)議電壓誘騙控制器IC技術(shù)手冊
  16. 1.81 MB   |  1次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935137次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233089次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191439次下載  |  10 積分
  9. 5十天學(xué)會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183353次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81602次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73822次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65991次下載  |  10 積分