使用Matlab根据灰度图阈值生成三维图

使用Matlab根据灰度图阈值生成三维图

  • 代码
  • 结果
  • 参考

代码

function grayto3d()
  
  figure(1)
  imshow('1.jpg')      %900 X 600 X 3
  hold on

  img=imread('1.jpg');

  img=rgb2gray(img);

  img=double(img(1:900,1:600));
  x=1:1:600;
  y=900:-1:1;		   %一开始使用11900,后发现图上下颠倒了,因为Matlab X,Y坐标轴0点在一起
  figure(2)
  [X,Y]=meshgrid(x,y); %X 是一个矩阵,每一行是 x 的一个副本;
					   %Y 也是一个矩阵,每一列是 y 的一个副本。
					   %坐标 X 和 Y 表示的网格有 length(y) 个行和 length(x) 个列
  surf(X,Y,img)
  shading interp%smooth
  
endfunction

结果

使用Matlab根据灰度图阈值生成三维图_第1张图片
使用Matlab根据灰度图阈值生成三维图_第2张图片

参考

https://ww2.mathworks.cn/help/matlab/ref/meshgrid.html

你可能感兴趣的:(Matlab)