给定一张图像,我已经计算了图像中每个点的深度,我需要在 MATLAB 中绘制这样的地图。有人可以建议我如何解决这个问题。
问问题
1589 次
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);
于 2012-04-18T03:30:43.923 回答