在您的帮助下,我已经能够使用 CvPosit 来估计相机姿势(使用此链接http://www.aforgenet.com/articles/posit/)。我正在使用 MATLAB 代码。
现在我希望通过在图像坐标上投影 3D 点来验证该姿势。详细情况如下:
假设立方体的图像点和世界点是:
World Points=[28 28 -28;-28 28 -28;28 -28 -28, 28 28 28] Image_Points=[-4 29;-180 86;-5 -102;76 137];
得到的Pose为:
Pose =[0.896 0.0101 0.4439 -13.9708;-0.3031 0.7127 0.6326 13.7039;-0.3100 -0.701 0.6416 164.5663;0 0 0 1];
在我的示例中,我使用 640 作为焦距。现在从这个姿势开始,我想使用一个 3D 点并将其投影回来以获得 2D 图像点。理想情况下,我应该得到同样的观点。但我无法得到它。我在 MATLAB 中使用以下方式:
比方说
P = [28;28;28;28;1] % 4 X 1 matrix for a 3D point
P_Camera= Pose * P; Calibration Matrix (K)=[640 0 0 0;0 640 0 0;0 0 1 0;0 0 0 1]; Image Points= P_Camera*K;
我得到
x = 15251
和y = 27447
。我不知道我在这里做错了什么。请帮帮我!!