为绘图目的导入对象的图片?

时间:2012-06-29 09:44:26

标签: image matlab 3d plot

我正在编写一个程序来模拟跟踪目标后的追踪者的移动。追踪者应该有一个摄像头,并根据目标图像,它跟随目标。

现在,我在方形中使用了4个平面点来表示追踪者的相机。因此,对于追逐,我在3D图中更新这4个点的位置来表示追踪者的移动。

我想知道是否可以导入一张实际相机的图片,并使用它而不是现在的4点,以达到审美目的?如果是,怎么样?

我对MATLAB不是很熟悉,所以如果你的答案可以详细而具体,我会很感激。提前致谢

1 个答案:

答案 0 :(得分:3)

以下是一个简单示例(基于this):

%# grayscale image
img = imread('cameraman.tif');

%# x/y/z coords of image corners
[X,Z,Y] = meshgrid([-1 1],[1 -1],0);

%# plot image in 3D space
figure, colormap gray
h = surf(X,Y,Z,img, 'CDataMapping','scaled', ...
    'FaceColor','texturemap', 'EdgeColor','none');
set(gca, 'XLim',[-2 2], 'YLim',[-4 0], 'ZLim',[-2 2], 'Box','on')

%# move image along the Y-dimension
t = linspace(0,-4,20);
for i=1:numel(t)
    set(h, 'YData',t(i)*ones(size(Y)))
    pause(.1)
end

我创建了结果的动画,我甚至使用了相机图像:)

animation