获取转换矩阵,得到与Matlab相机设置相似的结果

时间:2018-09-28 15:27:21

标签: c++ matlab opencv

因此,我有一个Matlab脚本,该脚本可以处理数据,然后将其显示在屏幕上。使用以下命令设置摄像机和盒子:

Xlim = [-33 33];
Ylim = [-2 60];
Zlim = [-1 60];

Cam_Pos = [-0.5 -1.2 -0];
Cam_Tar = [-1.7 100 -3.5];
Cam_Ang = 30;

axis('off'); 
grid 'on'    

xlim(Xlim)
ylim(Ylim)
zlim(Zlim)

campos(Cam_Pos);
camtarget(Cam_Tar);
camproj('perspective');

ax0.XColor = [1 1 1];
ax0.YColor = [1 1 1];
ax0.ZColor = [1 1 1];

set(gca,'CameraViewAngle',Cam_Ang, 'Clipping', 'on', 'ClippingStyle', '3dbox')

现在,使用OpenCV进行图像处理,将以前在Matlab中编写的代码重写为C ++。最后,我得到了3D空间中的点阵列,该点应该绘制在图像上,并且结果看起来应该与Matlab脚本产生的点相似。

是否可以从该数据中获得对象变换矩阵,如果将其与点坐标矩阵相乘会产生所需的结果?

0 个答案:

没有答案