当前位置: 首页 > news >正文

[Open3d]: 知识记录

python api 官方手册:http://www.open3d.org/docs/release/
可视化:http://www.open3d.org/docs/release/tutorial/visualization/visualization.html
python-vis 参考代码:https://github.com/isl-org/Open3D/tree/master/examples/python/visualization
Open3D-ML:https://github.com/isl-org/Open3D-ML # 基于open3d搞的一个ml项目,可以做一些预测结果&数据的可视化

Visualization 的一些快捷键

鼠标视图控制

  1. 左键+拖动 # 旋转
  2. ctrl + 左键+拖动 # 上下左右平移
  3. shift + 左键+拖动 # 绕垂直屏幕轴玄幻
  4. 滚轮 # 放大,缩小

键盘控制

  1. R # 重置view-point,回到打开的初始状态
  2. ctrl + c # 复制当前的view状态,存到剪切板中
  3. ctrl + v # 回到剪切板中的view
  4. Q, Esc # 退出窗口
    H : Print help message.
    P, PrtScn : Take a screen capture.
    D : Take a depth capture.
    O : Take a capture of current rendering settings.
ViewControl
# init visualizer first
self.o3d_visualizer = o3d.visualization.Visualizer()
self.o3d_visualizer.create_window(visible=False)
mesh_frame = geometry.TriangleMesh.create_coordinate_frame(size=1, origin=[0, 0, 0])  # create coordinate frame
self.o3d_visualizer.add_geometry(mesh_frame)# get ViewControl
ctr = self.o3d_visualizer.get_view_control()# set ViewControl
# refer to http://www.open3d.org/html/python_api/open3d.visualization.ViewControl.html#
# 改变内参来达到缩放的目的, 参考: https://github.com/isl-org/Open3D/issues/828
# get
param = vis.get_view_control().convert_to_pinhole_camera_parameters()# modify
# ... do something with param, e.g. zoom with changing the intrinsics# param.intrinsic.intrinsic_matrix  # 3x3
# param.extrinsic.view()  # 4x4# 在所有的add_geometry之后做# 放大2倍
zoom = 0.5
intrinsics = param.intrinsic.intrinsic_matrix.copy()
intrinsics[0] /= zoom
intrinsics[1] /= zoom
intrinsics[0, 2] = 1920 // 2 - 0.5  # 1920, 1080 是 create_window 的尺寸
intrinsics[1, 2] = 1080 // 2 - 0.5param.intrinsic.intrinsic_matrix = intrinsics
# init_param.extrinsic = self.extrinsics  # 如果传入了外参,就是前视图了# set
ctr.convert_from_pinhole_camera_parameters(param)
ctr.set_zoom(zoom)  # 这两个需要绑定才行
self.o3d_visualizer.update_renderer()  # 更新渲染器

set_zoom # 缩放
rotate(self, x, y, xo=0.0, yo=0.0) # 鼠标沿着x,y轴移动的距离. x,y为正表示沿着对应的轴正方向移动, 反正沿着负方向移动. 适当的值可以得到立体感。

不打开窗口保存渲染的图片
def show(self, save_path=None):"""Visualize the points cloud.Args:save_path (str): path to save image. Default: None."""# self.o3d_visualizer.run()if save_path is not None:# self.o3d_visualizer.capture_screen_image(save_path)self.o3d_visualizer.capture_screen_image(save_path, do_render=True)self.o3d_visualizer.destroy_window()return

相关文章:

[Open3d]: 知识记录

python api 官方手册:http://www.open3d.org/docs/release/ 可视化:http://www.open3d.org/docs/release/tutorial/visualization/visualization.html python-vis 参考代码:https://github.com/isl-org/Open3D/tree/master/examples/python/v…...

css面试题

1、css盒模型 a、标准盒模型---在标准盒模型中,width的宽度指的是content的宽度 b、怪异盒模型---在怪异盒模型中,width的宽度等于contentborderpadding 切换盒子模型的话,使用box-sizing。 2、link和import的区别 a、link是html标签&#x…...

vscode调试launch.json常用格式

1、简单的模版 定义一个简单的模版如下: {// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid830387"version": "0.2.0","configuration…...

巨细!Python爬虫详解

爬虫(又称为网页蜘蛛,网络机器人,在 FOAF 社区中间,更经常的称为网页追逐者);它是一种按照一定的规则,自动地抓取网络信息的程序或者脚本。 如果我们把互联网比作一张大的蜘蛛网,那…...

项目中如何进行限流(限流的算法、实现方法详解)

❤ 作者主页:李奕赫揍小邰的博客 ❀ 个人介绍:大家好,我是李奕赫!( ̄▽ ̄)~* 🍊 记得点赞、收藏、评论⭐️⭐️⭐️ 📣 认真学习!!!🎉🎉 文章目录 限流的算法漏…...

https在win7的环境下如何配置

https在win7的环境下如何配置?在Windows7环境下配置https,需要完成以下步骤: 1)安装Web服务器软件 可以选择安装常用的Web服务器软件,如Apache、Nginx或IIS,这些服务器软件都支持https。 2)获…...

Day69:WEB攻防-Java安全JWT攻防Swagger自动化算法签名密匙Druid泄漏

目录 Java安全-Druid监控-未授权访问&信息泄漏 黑盒发现 白盒发现 攻击点 Java安全-Swagger接口-导入&联动批量测试 黑盒发现 白盒发现 自动化发包测试 自动化漏洞测试 Java安全-JWT令牌-空算法&未签名&密匙提取 识别 JWT 方式一:人工识…...

Python Windows系统 虚拟环境使用

目录 1、安装 2、激活 3、停止 1、安装 1)为项目新建一个目录(比如:目录命名为learning_log) 2)在终端中切换到这个目录 3)执行命令:python -m venv ll_env,即可创建一个名为ll…...

栈和队列的学习

存储方式分两类:顺序存储和链式存储 栈:只允许从一端进行数据插入和删除的线性表:先进后出 FILO 队列:只允许从一端进行数据插入,另一端进行数据删除的线性表:先进先出 FIFO 栈 创建空栈,创建…...

【机器学习】基于机器学习的分类算法对比实验

摘要 基于机器学习的分类算法对比实验 本论文旨在对常见的分类算法进行综合比较和评估,并探索它们在机器学习分类领域的应用。实验结果显示,随机森林模型在CIFAR-10数据集上的精确度为0.4654,CatBoost模型为0.4916,XGBoost模型为…...

民航电子数据库:mysql与cae建表语法差异

目录 一、场景二、语法差异 一、场景 1、使用CAEMigrator-1.0.exe将mysql数据库迁移至cae数据库时,迁移速度非常慢,而且容易卡死(可能是部署cae数据库的服务器资源不足导致) 2、所以将mysql数据库导出为sql脚本,通过…...

(学习日记)2024.03.15:UCOSIII第十七节:任务的挂起和恢复

写在前面: 由于时间的不足与学习的碎片化,写博客变得有些奢侈。 但是对于记录学习(忘了以后能快速复习)的渴望一天天变得强烈。 既然如此 不如以天为单位,以时间为顺序,仅仅将博客当做一个知识学习的目录&a…...

聚类分析 | Matlab实现基于NNMF+DBO+K-Medoids的数据聚类可视化

聚类分析 | Matlab实现基于NNMFDBOK-Medoids的数据聚类可视化 目录 聚类分析 | Matlab实现基于NNMFDBOK-Medoids的数据聚类可视化效果一览基本介绍程序设计参考资料 效果一览 基本介绍 NNMFDBOK-Medoids聚类,蜣螂优化算法DBO优化K-Medoids 非负矩阵分解&#xff08…...

Unity类银河恶魔城学习记录11-3 p105 Inventory UI源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili UI_itemSlot.cs using System.Collections; using System.Collections.Gen…...

Vue3 + Vite + ts引入本地图片

Vue3 Vite ts引入本地图片 单张图片导入 单个图片导入,不过多阐述,通过 import 导入需要使用的图片。 import imgName from /assets/img/imgName.png 多张图片导入 new URL() import.meta.url import.meta.url 是一个 ESM 的原生功能&#xff0…...

图斑或者道路如何单独显示名称在图斑上或者道路上

0序: 遇到过多个测绘、工程、林业相关业务的客户,在加载一些图斑数据,线路数据时,希望能够单独的把图斑的名称,显示到图斑上,或者路网上面。 之前多数推荐的办法: 1.shp可以直接在图新地球中…...

docker 修改默认存储位置

一般系统下系统盘可能磁盘空间有限,需要将docker的存储目录改到其他位置 docker info 查看docker的版本 低版本docker在配置json中增加"graph":"/var/lib/docker" 高版本docker在配置json中增加"data-root":"/var/lib/docker&q…...

Springboot+vue的医疗挂号管理系统+数据库+报告+免费远程调试

效果介绍: Springbootvue的医疗挂号管理系统,Javaee项目,springboot vue前后端分离项目 本文设计了一个基于Springbootvue的前后端分离的医疗挂号管理系统,采用M(model)V(view)C(con…...

【Effective C++】39 明智而审慎地使用private继承

在之前论证过c如何将public 继承视为 is-a 关系。在哪个例子里,class Student 以 public 形式继承class Person, 于是编译器在必要时刻将Students暗自转化为Person.如果此时我们以 private 继承替换 public继承。 class Person {...}; class Student: p…...

2024年卫生巾行业市场分析报告(京东天猫淘宝线上卫生巾品类电商数据查询)

最近,相关部门辟谣了一则“十大致癌卫生巾黑名单”的消息。这个榜单是部分博主AI撰写,为博眼球、蹭热度的结果。此次事件势必会对卫生巾行业产生一定影响,加剧行业竞争。 根据鲸参谋电商数据平台显示,2024年1月至2月线上电商平台…...

5个实战技巧彻底掌握OpenUserJS.org:解锁浏览器无限定制能力

5个实战技巧彻底掌握OpenUserJS.org:解锁浏览器无限定制能力 【免费下载链接】OpenUserJS.org The home of FOSS user scripts. 项目地址: https://gitcode.com/gh_mirrors/op/OpenUserJS.org OpenUserJS.org作为自由开源软件用户脚本的集中平台,…...

基于File-Based App开发MVP项目汤

Issue 概述 先来看看提交这个 Issue 的作者是为什么想到这个点子的,以及他初步的核心设计概念。?? 本 PR 实现了 Apache Gravitino 与 SeaTunnel 的集成,将其作为非关系型连接器的外部元数据服务。通过 Gravitino 的 REST API 自动获取表结构和元数据&…...

FastAPI状态共享秘籍:别再让中间件、依赖和路由“各自为政”了!眉

一、什么是setuptools? setuptools 是一个用于创建、分发和安装 Python 包的核心库。 它可以帮助你: 定义 Python 包的元数据(如名称、版本、作者等)。 声明包的依赖项,确保你的包能够正确运行。 构建源代码分发包&…...

考虑需求响应和碳交易的柔性负荷综合能源系统优化调度模型

考虑需求响应和碳交易的综合能源系统日前优化调度模型 关键词:柔性负荷 需求响应 综合能源系统 参考:私我 仿真平台:MATLAB yalmipcplex 主要内容:在冷热电综合能源系统的基础上,创新性的对用户侧资源进行了细致的划…...

从零到一:手把手教你构建专属Pikachu漏洞演练场

1. 为什么需要搭建Pikachu漏洞演练场 刚开始学习网络安全时,很多人都会遇到一个尴尬的问题:学了很多理论,但找不到合适的实战环境。直接拿真实网站练手既不道德也不合法,这时候就需要一个安全、可控的漏洞演练平台。Pikachu就是这…...

Virtuoso新手必看:从反相器到2-4译码器的完整电路仿真流程(附HSPICE配置)

Virtuoso新手必看:从反相器到2-4译码器的完整电路仿真流程(附HSPICE配置) 在集成电路设计领域,掌握EDA工具链是每位工程师的必修课。Cadence Virtuoso作为行业标准工具,配合HSPICE仿真引擎,构成了从电路设计…...

10分钟快速上手:用w64devkit打造便携式Windows C/C++开发环境

10分钟快速上手:用w64devkit打造便携式Windows C/C开发环境 【免费下载链接】w64devkit Portable C and C Development Kit for x64 (and x86) Windows 项目地址: https://gitcode.com/gh_mirrors/w6/w64devkit 如果你正在寻找一个轻量级、完全离线、无需安装…...

cv_unet_image-colorization作品展示:AI智能上色让家族老相册焕然一新

cv_unet_image-colorization作品展示:AI智能上色让家族老相册焕然一新 1. 老照片重获新生的魔法 翻开泛黄的老相册,那些黑白照片承载着无数珍贵记忆,却总是让人忍不住想象:如果这些照片是彩色的该有多好?现在&#x…...

从零实现富文本编辑器#-React可编辑节点的组件预设泄

1. 智能软件工程的范式转移:从库集成到原生框架演进 在生成式人工智能(Generative AI)从单纯的文本生成向具备自主规划与执行能力的“代理化(Agentic)”系统跨越的过程中,.NET 生态系统正在经历一场自该平台…...

基于Python的医院病历管理系统毕设

博主介绍:✌ 专注于Java,python,✌关注✌私信我✌具体的问题,我会尽力帮助你。一、研究目的本研究旨在设计并实现一套基于Python的医院病历管理系统,以满足现代医院在病历管理方面的需求。具体研究目的如下:提高病历管理效率&…...