6
我想用opencv找到一個點的位置。我用cvCalibrateCamera2校準了兩臺攝像機。所以我知道內在和外在參數。我讀了一個已知的內在和外在參數,我可以通過三角測量很容易地重建3D。是否有opencv中的函數來實現這一點。我認爲cvProjectPoint2可能會有用,但我不明白究竟是什麼。所以我怎麼能找到一個點的三維位置。如何用opencv找到具有內在和外在參數的點的三維位置
謝謝。
我想用opencv找到一個點的位置。我用cvCalibrateCamera2校準了兩臺攝像機。所以我知道內在和外在參數。我讀了一個已知的內在和外在參數,我可以通過三角測量很容易地重建3D。是否有opencv中的函數來實現這一點。我認爲cvProjectPoint2可能會有用,但我不明白究竟是什麼。所以我怎麼能找到一個點的三維位置。如何用opencv找到具有內在和外在參數的點的三維位置
謝謝。
你首先必須找到差距。在OpenCV中有兩種算法 - 塊匹配(cvFindStereoCorrespondenceBM
)和圖形切割(cvFindStereoCorrespondenceGC
)。後者提供了更好的結果,但速度更慢。在差異檢測後,您可以使用cvReprojectImageTo3D
將差異重新映射到3D。這會爲您提供兩個攝像機視圖中輸入圖像每個點的距離。
另請注意,立體對應算法需要校正圖像對(使用cvStereoRectify
,cvInitUndistortRectifyMap
和cvRemap
)。
這個解釋可能會幫助你理解。 http://dsp.stackexchange.com/q/2736/1473 – 2012-06-29 13:47:54