2014-11-02 64 views
0

你好我使用的是華碩xtion親現場攝像機爲我的目標檢測,我也是新來的OpenCV。我試圖從相機中獲得物體的距離。檢測到的對象在2d圖像中。林不知道我應該用什麼來獲取信息,然後跟着計算,以獲得相機和對象之間的距離檢測。請有人給我建議嗎?如何找到華碩xtion親相機OpenCV的物體距離,ROS

回答

0

總之:你不能。

你失去的深度信息,並在你的相機圖像的任何可見的像素基本上變成一個光線從相機始發。

所以,一旦你得到的像素X的對象,所有你知道的是,物體相交的地方在此基礎上像素相機的內在/外在參數向量演員。

你基本上需要更多的信息。以下之一應該就足夠了:

  • 知道3D點的至少一個座標(例如,檢測到的所有內容位於地面或某個已知平面上)。
  • 知道兩個投影點之間的關係:
    • 無論是從不同位置處的相同點它們(之間(已知的照相機運動/偏移)
    • 或兩個點處與顯著距離像一些人​​員或杆的兩個端部)。

一旦你要麼,你就可以使用簡單的三角函數(三規則)來計算缺失值。


因爲我最初錯過了這是一個攝像頭,一個OpenNI兼容深度傳感器,它可以通過definining建庫時的預處理器定義WITH_OPENNI建立與這種支持的OpenCV。

+0

噢好吧。所以如果我要在一個已知的平面上檢測到固定尺寸的桌面,我將能夠找出距離並做類似的事情? https://www.youtube.com/watch?v=35rbeE1c-D4 – user3868279 2014-11-02 09:00:41

+0

如果您知道表格及其位置/方向,那麼您可以使用該信息重建您「看到」處於相同位置的任何3D座標平面(也就是說,你將所提到的相機與已知平面相交的矢量相交)。這實質上就是帶有標記的增強現實遊戲(例如在3DS上)如何工作。已知的對象/尺寸(標記)用於確定別的東西(在這種情況下爲桌子或地面)的位置/方向。 – Mario 2014-11-02 11:21:37

+0

嗨,你能指導我如何找到已知飛機的座標教程嗎? – user3868279 2014-11-06 14:11:12

0

我不喜歡成爲一個打破這個給你,但你正在做什麼是不可能的或者有一臺攝像機非常困難。

你需要有移動攝像機,記錄它的視頻,並使用complex technique such as this。通常,3d信息是從至少2個來自2個不同地方的2d圖像創建的。您還需要非常精確地知道兩幅圖像之間的距離和旋轉。常用技術是使兩臺相機精確測量兩者之間的距離。

0

的Xtion是不是基本的網絡攝像頭。這是一個類似於Kinect和Primesense的立體視覺深度感應凸輪。主要的API是OpenNI - 請參閱http://structure.io/openni

相關問題