Итак, у меня есть скрипт 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')
Теперь код, который был ранее написан в Matlab, переписывается на C ++, используя OpenCV для обработки изображений.В конце концов, у меня есть массив точек в трехмерном пространстве, которые должны быть нарисованы поверх изображения, и результат должен выглядеть примерно так же, как результат, полученный с помощью сценария Matlab.
Можно ли получить матрицу преобразования объекта изэти данные, что если умножить матрицу с точечными координатами на нее, то получится требуемый результат?