作业帮 > 综合 > 作业

用Matlab显示一幅图像的高度场:像素坐标为平面x,y轴,像素值为Z轴,求解Matlab达人!

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/23 10:32:32
用Matlab显示一幅图像的高度场:像素坐标为平面x,y轴,像素值为Z轴,求解Matlab达人!
能显示三维曲面网格更好!不然图片的三维显示效果看不清晰
% 读取图象数据到矩阵
[A, map] = imread('1.jpg');
% 得到图象信息
info = imfinfo('1.jpg');
w = info.Width;
h = info.Height;
% 创建与图象大小相对应的网格
[x,y] = meshgrid(1:w,1:h);
z = x - y + y - x;
i = 1;
j = 1;
% 用图象灰度值填充高度值
while (i - 1) * w + j w
j = 1;
i = i + 1;
end
end;
% 绘制三维图象
meshc(x,y,z);
% 绘制表面
surf(x,y,z,'FaceColor','interp','EdgeColor','none','FaceLighting','phong')