如何使用 matlab 中的校准相机从世界坐标中获取像素索引

How to get the pixel indices from the world coordinates with a calibrated camera in matlab

我已经校准了我的相机,现在我有相机参数、旋转和平移矩阵 (R ,t) 我知道有一种方法可以通过函数 "pointsToWorld(__)" 从像素索引中获取世界坐标,但我想不这样做,我在 Matlab 帮助中找不到任何相关信息! 所以我不知道该怎么办,有什么建议吗?

目前你必须自己做。如果你有 Rt,你可以使用 cameraMatrix 函数来计算相机投影矩阵 P。然后你可以计算世界点到图像的投影如下:

P = cameraMatrix(cameraParams, R, t);
p = [X, Y, Z, 1] * P;
x = p(1) / p(3);
y = p(2) / p(3);

XYZ是世界坐标。 xy 是以像素为单位的图像坐标。