我是OpenCV的新手,我構建了openCV並安裝了Qt,以成功運行示例http://code.google.com/p/opencvstereovision/source/checkout。結果是左右網絡攝像頭捕獲,並在校準之後爲兩者和深度圖校正圖像。我想要做以下事情。我將點擊一個對象來關注這些左側或右側圖像中的任何一個。然後,我想檢測另一個圖像中的相應像素並計算與此對象的距離。我現在不知道該怎麼做,我需要指導。也許如果我首先計算出相應的點,我可能會將其餘的工作。我怎樣才能做到這一點?OpenCV立體相機,檢測物體距離
4
A
回答
4
這似乎是你真實需要什麼的一個好主意。這是一個蠕蟲的罐頭 - 因此,我會建議抓住着名的哈特利& Zisserman書的規範解釋。這裏是相關章節的link。
但在短暫的...
我沒有用的opencvstereovision包裝類直接,但它聽起來像它已採取頭痛了校準的(相機內在和外部參數),並通過單應計算整改矩陣(H)用於平面幾何,或基礎矩陣(F)用於更復雜的對極幾何。
可能與此原始post相似。
這種糾正意味着它已經建立了每幅圖像中相同點之間的數學映射。
在之前的answer(來自我)中,您可以通過使用基礎矩陣來執行三角測量 - 即計算距離。
但是,請注意,此距離僅在圖像座標系(即以像素爲單位)中。
什麼是真正需要執行「真實世界」的測量(即實際的物理距離)的本質是矩陣(E),它結合了基本矩陣和攝像機內部函數(K)來計算,如果你願意,將距離投射到現實世界中。
1
class StereoVar
{
StereoVar();
StereoVar( int levels, double pyrScale,
int nIt, int minDisp, int maxDisp,
int poly_n, double poly_sigma, float fi,
float lambda, int penalization, int cycle,
int flags);
virtual ~StereoVar();
virtual void operator()(InputArray left, InputArray right, OutputArray disp);
int levels;
double pyrScale;
int nIt;
int minDisp;
int maxDisp;
int poly_n;
double poly_sigma;
float fi;
float lambda;
int penalization;
int cycle;
int flags;
...
};
+0
可以請你分享任何示例代碼來製作分區地圖。我看到了stereo_match.cpp示例代碼..但沒有解釋,所以它真的聽到了解 – MMH
相關問題
- 1. 相機與物體的距離
- 2. 3D物體的相機距離
- 3. 相機和物體之間的距離?
- 4. 使用opencv拍攝物體的距離
- 5. OpenCV計算距離(立體視覺)
- 6. 如何用相機測量物體的距離?
- 7. 物體檢測android opencv
- 8. Opencv透明物體檢測
- 9. 三維物體檢測-opencv
- 10. 測量從iPhone相機到使用相機的物體的距離
- 11. 使用相機測量物體的面積以及相機與物體之間的已知距離
- 12. 如何找到華碩xtion親相機OpenCV的物體距離,ROS
- 13. 我們如何測量物體和android手機相機之間的距離
- 14. 移動物體的距離
- 15. Python OpenCV立體相機位置
- 16. 從相機到物體的距離..糾錯
- 17. 物體在相機周圍保持距離C++ opengl
- 18. 如何確定哪個物體距離相機最近?
- 19. 尋找從相機到已知尺寸的物體的距離
- 20. 相機與識別的「物體」之間的距離
- 21. 獲取相機與確切物體之間的距離
- 22. opencv物體輪廓角點檢測
- 23. 使用OpenCV檢測灰色物體
- 24. 檢測物體中的線Opencv
- 25. OpenCV:可以檢測移動物體?
- 26. 繪製檢測到的物體OpenCV?
- 27. 遠離Unity3D重疊近距離物體的物體
- 28. 如何使用iPhone中的相機測量物體之間的距離?
- 29. 如何用相機測量物體的高度,寬度和距離?
- 30. 物體檢測
謝謝你。我提到的鏈接是第12章的確切實現,在本書中有詳細解釋。我想cvComputeCorrespondEpilines,也就是第427頁提到的,是需要的嗎?我會通過一個圖像中的像素,並找到相應的其他圖像? – dramaticlook