python 利用 vispy 读取显示 .obj文件

标签: python  tool  计算机视觉  VisPy  obj  

三维重建领域经常会接触到obj文件,以下用python进行读取显示。
VisPy是一个用于交互式科学可视化的Python库,它被设计为快速、可伸缩且易于使用。

安装VisPy

  • conda 安装
conda install -c conda-forge vispy
  • pip 安装
pip install --upgrade vispy

读取.obj文件

from vispy import scene, io

canvas = scene.SceneCanvas(keys='interactive', show=True)
view = canvas.central_widget.add_view()

verts, faces, normals, nothing = io.read_mesh("sample.obj")

mesh = scene.visuals.Mesh(vertices=verts, faces=faces, shading='smooth')

view.add(mesh)

view.camera = scene.TurntableCamera()
view.camera.depth_value = 10


if __name__ == '__main__':
    canvas.app.run()

运行效果图,并可以用鼠标进行旋转缩放操作

在这里插入图片描述

读取.obj文件,专业软件推荐MeshLab,同时支持Windows 和 Linux

版权声明:本文为smilife_原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/smilife_/article/details/103782075

智能推荐

vcglib库的入坑体验(读取obj文件并显示)

写在前面:vcglib的坑真的是太深了,慎入!!! 各种文档不全,使用全靠看源码和猜,网上资料很少而且基本都是复制粘贴,有用的信息真的很少!(附上vcglib的文档 真的能看到自闭) 本文使用vcglib库进行读取obj文件(其他各种3d模型格式也是同样的方法)并显示,但是目前仍然遇到一些问题没有解决:读取的纹理信息全部缺失(读出来全部为0,因此下图并没有贴纹理),查了很久真心不知道为什么,如果有...

python利用fileinput迭代显示多文件内容

本博文源于python基础,旨在实现多文件的循环迭代操作。 fileinput操作文件 提供行循环处理一个或多个文件内容的功能。fileinput模块中常用的函数有: input(): 返回能够用于迭代一个或多个文件中所有行的对象 filename():返回当前文件的名称 lineno():返回当前读取的行的数量 isfirstline():返回当前行,判断是否是文件的第一行,是当前文件的第一行时...

python matplotlib读取Excel文件绘制图显示中文

python matplotlib读取Excel文件绘制图显示中文...

安卓:通过BaseAdapter适配器对ListView组件的简单应用案例

项目结果演示: 案例实现流程: 在布局文件中新建一个ListView组件 ↓ 在另一个布局文件中新建一个用于展示的布局文件 ↓ 在java文件中新建实体类Student ↓ 在java文件中新建StudentApdater继承BaseAdapter并覆写相关方法(重点:覆写getView方法) ↓ 通过LinkedList插入数据 ↓ 调用自己定义...

递归与树(三)

图的遍历: 深度优先搜索 从任意节点开始, 访问v。 (递归的)访问每一个依附于v的(未访问过的)节点。 如果图是连通的,我们最终可以到达所有的节点。 深度优先搜索递归实现: 要访问图中与节点k相连的所有节点,我们将它标记为访问过的,然后递归的访问k的邻接表中所有未访问过的节点。 void traverse(link k,void (*visit)(int)) {     li...

猜你喜欢

博客运用Hexo-Next主题美化(上)

​ –此篇文章有转载,转载url放在最后方 1、前言 上篇文章已经在Windows上将个人博客个搭建好了(如果还不知道怎么搭建的,可以戳这里,可是大家有没有发现,搭建的Hexo博客使用的是默认主题,而且不咋好看,跟那些大神们的个人博客相比,还差了很多,不过不要紧,看完这篇文章,你也可以拥有那些炫酷吊炸天的效果。废话少说,那就直接开始吧。 2、设置主题 Hexo给我们提供了很多的主题供我...

spring-boot整合jax-ws发布服务

第一步:导入依赖 第二步:创建接口 第三步:创建实现类 第四部:创建配置类 第五部:启动项目,访问http://localhost:8091/demo/api?wsdl 显示效果如下,则发布成功...

ArrayList中的迷惑行为

当我准备利用ArrayList的add(index,element)方法时遇到一个郁闷的结果。 废话不多说,show time 我现在需要满足一个需求,就是希望利用arrayList可以将本来的无序的元素添加到对应的index下 执行后: java.lang.IndexOutOfBoundsException: Index: 3, Size: 0 ArrayList初始化源码 因为初始化的 arr...

1+x云计算中级,第二天串讲,拓扑图

1+x云计算中级,串讲第二天的内容为利用ensp模拟华为设备 拓扑图如下 需要达到的效果:网络互通,各个vlan之间能正常通信,三个PC机能通过dhcp获得地址,能够通过cloud连接到外网,ping通8.8.8.8 需要用的技术有,vlan划分,OSPF,静态路由,路由的重发布,nat,基于端口的dhcp技术,cloud的使用 配置步骤 cloud的设置,连接物理机的网卡,请选择vm netwo...

小波变换图像融合

最近在做一个小实验,基于小波变换对图像进行融合的MATLAB实验。 ***小波变换图像融合原理:***对一幅灰度图像进行N层的小波分解,形成3N+1个不同频带的数据,其中有3N个包含细节信息的高频带和一个包含近似分量的低频带。分解层数越多,越高层的数据尺寸越小,形成塔状结构,用小波对图像进行多尺度分解的过程,可以看作是对图像的多尺度边缘提取过程。小波变换具有空间和频域局部性,它可将图像分解到一系列...