[英]OpenCV stereo vision 3D coordinates to 2D camera-plane projection different than triangulating 2D points to 3D
[英]OpenCV project 3D coordinates to 2d camera coordinates
我有一個物體的3D世界坐標,我想在相機2D平面上得到它的坐標。 我已經使用cv::calibrateCamera
校准了相機,因此我有相機矩陣和distortionCoeffs 。
為了將3D點投影到2d相機坐標,我使用cv::projectPoints
。 文件說:
void projectPoints(InputArray objectPoints ,InputArray rvec ,InputArray tvec ,InputArray cameraMatrix ,InputArray distCoeffs ,OutputArray imagePoints ,OutputArray jacobian = noArray() ,double aspectRatio = 0 )
我如何獲得rvec / tvec並且我的方法是正確的? calibrateCamera
給了我rvecs
和tvecs
,但是它們用於每個輸入棋盤圖像,我猜,它們是棋盤的旋轉和平移,而不是相機的旋轉和平移。
由於我有投影矩陣 ( P
),我可以從3D坐標X
(使用齊次坐標 )計算相機平面中的2D坐標( x
):
x(u,v,w)= P * X(x1,x2,x3,w)
我只是對整改有問題 ,所以我沒有得到我的2D圖像的精確投影。 請參閱此處: OpenCV立體視覺3D坐標到2D相機平面投影不同於將2D點三角測量到3D
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.