Streamlit如何展示3D模型?

news2024/9/29 11:29:58

Streamlit 是一个非常好的创建 web demo 的库,但是对于单目深度估计很难找到可以展示 3D 模型的东西。

正如我刚刚在 Jupyter Notebook 中使用 obj2html 库可视化 3D 模型所做的那样,我创建了一个演示:HuggingFacae Spaces Monocular Depth Estimation。
在这里插入图片描述

但在这篇文章中,我只谈到将 3D 模型转换为 streamlit。

推荐:使用 NSDT场景设计器 快速搭建3D场景。

1、安装要求

我们可以轻松地使用 pip 安装所需的库:

pip install streamlit obj2html
# or specify your version of python if multiple
python3.8 -m pip install streamlit obj2html

2、Streamlit 应用程序

将 model.object 放入文件夹中,你可以通过此链接 下载,或者在 linux 上使用如下命令下载:

wget https://gitlab.com/nicolalandro/obj2html/-/raw/main/test/assets/model.obj

创建一个简单的 Streamplit app.py:

import streamlit as st
import streamlit.components.v1 as components
from obj2html import obj2html
# 3D view
html_string = obj2html("model.obj", html_elements_only=True)
components.html(html_string)
# Download .obj button
with open("model.obj") as f:
    st.download_button('Download model.obj', f, file_name="download_name.obj")

现在可以运行你的 streamlit 应用程序了:

streamlit run app.py
# or specify your version of python if multiple
python3.8 -m streamlit run app.py

可以访问 localhost:8501 在线查看演示:

在这里插入图片描述

3、结束语

obj2html 库很年轻,但可以简单地在 Jupyter 和 Streamlit 上使用,非常适合此类项目的原型设计。

obj2html使用 Three.js 并且只是一种用 three.js 编写 html 文件的 python 包装器。 该项目真正幸运的只有一个功能:支持材质(.mat)以使用纹理和法线贴图等。


原文链接:Streamlit展示3D模型 — BimAnt

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/174609.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【算法基础】归并排序

目录 一、归并排序的思想 二、归并排序的步骤 三、归并的方式 四、代码模板 一、归并排序的思想 归并排序和快速排序一样,都是分治的思想。它是将一个无序的数组一分为二,最后再合二为一,将两个有序数组合并成为一个有序数组。 时间复杂…

2023兔年第一篇文章【CSS】之CSS列表详解【CSS基础知识详解】

👨‍💻个人主页:花无缺 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 花无缺 原创 本文章收录于专栏 【CSS】 【CSS专栏】已发布文章 📁【CSS基础认知】 📁【CSS选择器全解指南】 &#x1f4c1…

ARM S5PV210的iNand

一、iNand介绍 1、iNand/eMMC/SD Card/MMC Card 的关联 (1) 最早出现的是 MMC 卡,卡片式结构,按照 MMC 协议设计。(相较于 NandFlash 芯片来说,MMC 卡有 2 个优势:第一是卡片化,便于拆装;第二是…

【Java开发】Spring Cloud 06 :分布式配置管理-Nacos Config

在微服务架构中,我们会使用一个分布式的“配置中心”来管理所有的配置文件和配置项,本章节将介绍 Nacos 配置中心的特性,以及这些特性在微服务体系中所发挥的作用。在 Spring Boot 应用中,我们习惯于使用传统的配置管理方式&#…

【蓝桥杯】简单数论——GCDLCM

GCD 最大公约数Greatest Common Divisor(GCD):整数a和b的GCD是指能同时整除a和b的最大整数,记为gcd(a,b)。由于-a的因子和a的因子相同,因此gcd(a, b) gcd(al, |bl)。编码时只关注正整数的最大公约数。 GCD性质 (1) gcd(a, b) gcd(a, ab) g…

活动星投票教师创课大赛网络评选微信的投票方式线上免费投票

“教师创课大赛”网络评选投票_小程序不记名选举投票_投票微信创建链接_微信公众号投票制作小程序投票活动如何做?很多企业在运营当中,都会通过投票活动来进行推广,从而达到吸粉、增加用户粘度等效果。而此类投票活动,通过小程序就…

【C进阶】通讯录2.0(文末附原码)

⭐博客主页:️CS semi主页 ⭐欢迎关注:点赞收藏留言 ⭐系列专栏:C语言进阶 ⭐代码仓库:C Advanced 家人们更新不易,你们的点赞和关注对我而言十分重要,友友们麻烦多多点赞+关注,你们…

webpack搭建的React脚手架项目与vite进行兼容化开发

React项目兼容vite开发 问题描述 前言:之前在做Vue开发项目的过程中,是使用vite搭建的项目,不论是启动速度还是热更新,都非常的丝滑,可以极大弥补我电脑的短板,也提升了我的开发体验!。 由于…

马帮对接打通金蝶云星空订单

马帮对接打通金蝶云星空获取订单列表接口与销售出库新增接口接入系统:马帮马帮ERP旗下有马帮ERP3.0、马帮ERP亚马逊专用版、马帮WMS仓储管理系统、马帮云仓、马帮TMS、跨境分销、马帮供应链SCM管理系统等产品,为跨境电商卖家提供高效管理方法和解决方案&…

【操作系统】—— 如何使用VMware虚拟机(带你快速了解)

📜 “作者 久绊A” 专注记录自己所整理的Java、web、sql等,IT技术干货、学习经验、面试资料、刷题记录,以及遇到的问题和解决方案,记录自己成长的点滴。 🍁 操作系统【带你快速了解】对于电脑来说,如果说…

java多态/类的组合2022023

多态 Java引用变量有两个类型:一个是编译时类型,一个是运行时类型。编译时类型由声明该变量时使用的类型决定,运行时类型由实际赋给该变量的对象决定。如果编译时类型和运行时类型不一致,就可能出现所谓的多态(Polymor…

LeetCode刷题复盘笔记—一文搞懂贪心算法之55. 跳跃游戏问题(贪心算法系列第四篇)

今日主要总结一下可以使用贪心算法解决的一道题目,55. 跳跃游戏 题目:55. 跳跃游戏 Leetcode题目地址 题目描述: 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长…

Python流程控制语句之选择语句

前言 在生活中,我们总是要做出许多选择,程序也是一样。比如下面的例子: 如果输入的用户名和密码正确,提示登录成功,否则,提示登录失败。如果考试成绩大于等于60分,则及格,否则不及…

在甲骨文云容器实例(Container Instances)上部署firefox

甲骨文云推出了容器实例,这是一项无服务器计算服务,可以即时运行容器,而无需管理任何服务器。 今天我们尝试一下通过容器实例部署firefox。 Step1. 创建容器实例 在甲骨文容器实例页面,单击"创建容器实例"&#xff0c…

[漏洞分析] CVE-2022-2602 io_uring UAF内核提权详细解析

本文首发于华为安全应急响应中心公众号: https://mp.weixin.qq.com/s/w_u0FoiFdU0KM397UXJojw 文章目录漏洞简介环境搭建漏洞原理文件引用计数与飞行计数引用计数飞行计数发送过程scm_send接收过程unix_gc垃圾处理机制io_uring原理(仅限漏洞)io_uring_setupio_urin…

零基础学JavaWeb开发(十六)之 mybatis(2)

5、MyBatis - 映射文件标签 5.1、映射文件的顶级元素 select:映射查询语句 insert:映射插入语句 update:映射更新语句 delete:映射删除语句 sql:可以重用的 sql 代码块 resultMap:最复杂&#xff0c…

11. 集合set类型详解

python3 set类型的使用 1. 基础知识 (1) 集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。集合是一个无序的不重复元素序列。 (2)基本功能是进行成员…

大年初四,Flutter Forward 中国社区直播活动与你不见不散

之前我们预告过,2023 年 1 月 25 日 (年初四),Flutter 团队将在肯尼亚首都内罗毕举办 Flutter Forward 大会,并同时开启线上直播。本次活动将为展示最新的 Flutter 技术更新,包括一个主题演讲,以及多个技术演讲和线上问…

【兔年之兔子走迷宫】 用一个小游戏对回溯法进行实现 | C++

第六章 回溯法 目录 第六章 回溯法 ●前言 ●一、回溯法是什么? 1.简要介绍 ●二、回溯法经典案例——兔子走迷宫游戏 1.具体情况 2.代码展示(C) 3.结果展示 ●总结 前言 简单的来说,算法就是用计算机程序代码来实…

性能监控和工具使用

1、jvm 内存模型 程序计数器 Program Counter Register:  记录的是正在执行的虚拟机字节码指令的地址,  此内存区域是唯一一个在JAVA虚拟机规范中没有规定任何OutOfMemoryError的区 域  虚拟机:VM Stack  描述的是 JAVA 方法执行的内…