1

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

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

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

我对 MATLAB 不是很熟悉,所以如果您能详细而具体地回答您的问题,我将不胜感激。提前致谢

4

1 回答 1

3

这是一个简单的示例(基于):

%# 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

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

动画

于 2012-06-29T10:51:37.160 回答