如何使用 matlab 中的校准相机从世界坐标中获取像素索引
How to get the pixel indices from the world coordinates with a calibrated camera in matlab
我已经校准了我的相机,现在我有相机参数、旋转和平移矩阵 (R ,t)
我知道有一种方法可以通过函数 "pointsToWorld(__)" 从像素索引中获取世界坐标,但我想不这样做,我在 Matlab 帮助中找不到任何相关信息!
所以我不知道该怎么办,有什么建议吗?
目前你必须自己做。如果你有 R
和 t
,你可以使用 cameraMatrix
函数来计算相机投影矩阵 P
。然后你可以计算世界点到图像的投影如下:
P = cameraMatrix(cameraParams, R, t);
p = [X, Y, Z, 1] * P;
x = p(1) / p(3);
y = p(2) / p(3);
X
、Y
、Z
是世界坐标。 x
和 y
是以像素为单位的图像坐标。
我已经校准了我的相机,现在我有相机参数、旋转和平移矩阵 (R ,t) 我知道有一种方法可以通过函数 "pointsToWorld(__)" 从像素索引中获取世界坐标,但我想不这样做,我在 Matlab 帮助中找不到任何相关信息! 所以我不知道该怎么办,有什么建议吗?
目前你必须自己做。如果你有 R
和 t
,你可以使用 cameraMatrix
函数来计算相机投影矩阵 P
。然后你可以计算世界点到图像的投影如下:
P = cameraMatrix(cameraParams, R, t);
p = [X, Y, Z, 1] * P;
x = p(1) / p(3);
y = p(2) / p(3);
X
、Y
、Z
是世界坐标。 x
和 y
是以像素为单位的图像坐标。