首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用surf可视化三维场景

如何使用surf可视化三维场景
EN

Stack Overflow用户
提问于 2010-11-03 19:59:48
回答 1查看 1.3K关注 0票数 3

我有一个图像从磁盘加载作为一个纹理,和一个相同大小的矩阵d,其中有相应的深度。

如何使用surf将图像显示为三维模型?简单地

代码语言:javascript
复制
surf(depthMatrix, img);

不会有好的结果

  1. 照相机不是从x-y平面朝z方向看的。
  2. 看上去很黑
  3. 虽然我的深度矩阵在使用imshow(depthMatrix, []);显示时实际上是平滑的,但它看上去并不那么光滑

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-11-03 20:05:25

您可以使用纹理映射将图像显示在表面,如下所示:

代码语言:javascript
复制
surf(depthMatrix,img,...           %# depthMatrix is z data, img is an image
     'FaceColor','texturemap',...  %# Use texture mapping
     'EdgeColor','none');          %# Turn off edge coloring

为了回应你的3点:

  1. 您可以通过按下鼠标调整相机角度。

按钮上的图形,它打开交互式的三维旋转.您也可以使用函数ROTATE3D启动交互式旋转,也可以在不使用函数视图的情况下更改相机视图。

  1. 你的情节看上去是黑色的,因为在默认情况下,边缘被画成黑色的线,而且可能有很多。
  2. 您可以调整轴标度和极限使您的表面看起来更平滑。例如,axis equal将使所有3个轴的数据单元相同,因此z轴(其范围从0到25)将被显着地压平,因为其他两个轴的跨度为数百个。或者,在调用浪花时,您可以指定x和y数据用于这些轴上的值,这最终可以帮助您更好地调整这些轴和z轴之间的相对缩放。
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4091129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档