2

给定一张图像,我已经计算了图像中每个点的深度,我需要在 MATLAB 中绘制这样的地图。有人可以建议我如何解决这个问题。 在此处输入图像描述

4

1 回答 1

1

假设您将深度数据存储在一个名为 的二维数组中D,那么您需要决定要在其上方绘制的网格域D。我将假设您关心 x-axis range[x_min, x_max]和 y-axis range [y_min, y_max],其中每个标量代表每个坐标方向的最小值和最大值。

y_num = size(D,1); % <-- Number of points to use in y-axis grid.
x_num = size(D,2); % <-- Number of points to use in x-axis grid.

x_grid_vals = linspace(x_min,x_max,x_num);
y_grid_vals = linspace(y_min,y_max,y_num);

% Get full coordinate grid for the 3D plot.
[X,Y] = meshgrid(x_grid_vals,y_grid_vals);

% Plot the data.
% The surf() function plots the depth as 3D above the created grid.
surf(X,Y,D);

这是surf()文档。

于 2012-04-18T03:30:43.923 回答