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
智能推荐
vcglib库的入坑体验(读取obj文件并显示)
写在前面:vcglib的坑真的是太深了,慎入!!! 各种文档不全,使用全靠看源码和猜,网上资料很少而且基本都是复制粘贴,有用的信息真的很少!(附上vcglib的文档 真的能看到自闭) 本文使用vcglib库进行读取obj文件(其他各种3d模型格式也是同样的方法)并显示,但是目前仍然遇到一些问题没有解决:读取的纹理信息全部缺失(读出来全部为0,因此下图并没有贴纹理),查了很久真心不知道为什么,如果有...
python利用fileinput迭代显示多文件内容
本博文源于python基础,旨在实现多文件的循环迭代操作。 fileinput操作文件 提供行循环处理一个或多个文件内容的功能。fileinput模块中常用的函数有: input(): 返回能够用于迭代一个或多个文件中所有行的对象 filename():返回当前文件的名称 lineno():返回当前读取的行的数量 isfirstline():返回当前行,判断是否是文件的第一行,是当前文件的第一行时...
安卓:通过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个包含细节信息的高频带和一个包含近似分量的低频带。分解层数越多,越高层的数据尺寸越小,形成塔状结构,用小波对图像进行多尺度分解的过程,可以看作是对图像的多尺度边缘提取过程。小波变换具有空间和频域局部性,它可将图像分解到一系列...
