必威体育Betway必威体育官网
当前位置:首页 > IT技术

Matlab三维网格显示一张图片(meshgrid和mesh)

时间:2019-10-31 02:43:27来源:IT技术作者:seo实验室小编阅读:55次「手机版」
 

meshgrid

在很多时候想看看深度图或灰度图的三维效果,点云的方法固然更直接,但复杂不易上手,而用Matlab的三维网格显示则方便快速了许多,下面来展示一下matlab里面用meshgridmesh来生成图片的三维网格的过程:

%首先读取一张单通道图片(目前还没考虑多通道的图片,如RGB的显示)本例使用ppm格式;

1: D=imread('depth.ppm');  %这里面是你的图片存放路径和文件名

%这会儿就会得到一个该图片尺寸的二维矩阵,其值为图片的像素值;

%尺寸你可以获取也可以直接查看,这里我已经知道了我的图片尺寸和得到的矩阵大小为:480*640;

%接下来你需要生成一个与图片尺寸大小一致的网格,这里用到了meshgrid();

2: x=1:1:480;  %生成一个480的一维数组,其实我是按照图片的尺寸来设的

3:   y=1:1:640;  %生成一个640的一维数组

4:   [X,Y]=meshgrid(x,y);  %生成640*480的二维数组“们”

%(其实这时发现生成的X,Y都是640*480的格式,与原图尺寸不一致,当然,我是按照惯性直接设的网格,没考虑太多,走一步看一步)

%但是我要考虑尺寸一致的问题,这里使用了矩阵转置,

5:Z=D';  %如果你的图片格式与生成的网格尺寸一样,大可省略这行“美丽的错误”直接用D(其实是我的错误,按照图片的矩阵,x和y应该调换位置的,而你只要保证X,Y,Z的格式一致

%下面可以愉快的mesh出你想要的网格啦

6:   mesh(X,Y,Z);

效果:

原始图像imshow:因为我的是16位的灰度图,所以显示有些不好;

3D网格效果:很漂亮了

文章最后发布于: 2018-11-12 11:45:49

相关阅读

matlab曲线拟合

曲线拟合不要求逼近函数通过各采样点,但要求尽量的接近这些点,使误差在某种意义上达到最小。 (一)利用函数的方式实现曲线拟合: 在mat

用matlab计算连续函数卷积的表达式

原文地址: https://www.computationalimaging.cn/2018/11/matlab.html卷积计算起来较为繁琐, 若能够用matlab辅助计算则会简单很

matlab自定义函数的几种方法

1、函数文件+调用命令文件:需单独定义一个自定义函数的M文件;2、函数文件+子函数:定义一个具有多个自定义函数的M文件;3、Inline:无

BP神经网络原理及matlab实例

转载:http://blog.csdn.net/u013007900/article/details/50118945 上一次我们讲了M-P模型,它实际上就是对单个神经元的一种建模,还

三维空间下的交互设计

二维平面的交互是人为设定的,情景几乎是不会发生变化的;而人所在的三维空间很复杂,情景也会随着人与任意对象之间的任务而发生变化,同

分享到:

栏目导航

推荐阅读

热门阅读