我計劃利用opencv中的triangulatePoints()方法回傳三維重構點。
1、我首先利用matlab的calibration工具箱提取出了同一時刻不同相機拍攝同一物體得到的兩張圖片的特征匹配點
2、之后我將這兩張圖片的特征匹配點輸入進cv2.findEssentialMat方法得到本質矩陣
3、我再利用decomposeEssentialmat()方法得到相機的旋轉和平移矩陣R1 R2 t
4、我利用實作知道的相機內引數結合R1 R2 t 計算除了相機投影矩陣
5、最后我將56個特征點及投影矩陣輸入進triangulatePoints()方法回傳的卻是56個相同的三維坐標
我試著自己撰寫了一個相機內參矩陣 和56個特征點輸入,回傳出的56個重構的三位坐標是不同的,這表示也許我的相機投影矩陣可能計算錯誤,可是我認為我上面的步驟沒問題,請問大家遇到過這種情況嗎,我是不是需要別的方法計算相機投影矩陣,如果是,應該怎么做呢。謝謝大家!
uj5u.com熱心網友回復:
想問樓主解決了嗎……我貌似也遇到了同樣的問題,不同的相機像素坐標輸入,但輸出一樣的3D坐標……轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/207305.html
標籤:OpenCV
上一篇:flash
下一篇:Dalsa卡編號如何更新
