当前位置: 首页 > 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月线上电商平台…...

DeepSeek RAG系统渗透测试全链路复现(含PoC代码与防御加固清单)

更多请点击: https://kaifayun.com 第一章:DeepSeek RAG系统渗透测试全链路复现概览 DeepSeek RAG系统作为面向企业级知识检索增强生成的典型架构,其安全边界不仅涵盖LLM服务层,更延伸至向量数据库、检索代理、提示工程网关及外部…...

AMLP框架实战:基于MACE构建高精度机器学习势函数

1. 项目概述:当机器学习势函数遇上自动化管道在计算化学和材料科学领域,我们长久以来面临着一个核心矛盾:精度与效率的权衡。密度泛函理论(DFT)能提供接近实验的精度,但计算成本高昂,通常只能处…...

雪球网md5__1038参数逆向解析与Node.js复现

1. 这不是“破解”,而是对前端加密逻辑的常规逆向还原你打开雪球网任意一只股票详情页,F12 打开开发者工具,切到 Network 面板,刷新页面——很快就能在 XHR 请求里捕获到类似这样的接口:https://xueqiu.com/stock/cube…...

终极艾尔登法环帧率解锁指南:轻松突破60FPS限制

终极艾尔登法环帧率解锁指南:轻松突破60FPS限制 【免费下载链接】EldenRingFpsUnlockAndMore A small utility to remove frame rate limit, change FOV, add widescreen support and more for Elden Ring 项目地址: https://gitcode.com/gh_mirrors/el/EldenRing…...

基于声卡与电流互感器的安全交流功率测量系统设计与实践

1. 项目概述:用声卡安全测量交流功率我一直对各种测量技术抱有浓厚的兴趣,毕竟“测量即认知”这句老话在今天依然适用。对于电力消耗和产出,没有什么比直接测量更能说明问题了。交流功率的测量,核心在于同时获取电压和电流的瞬时值…...

AI IDE 革命:程序员正在被重新定义

很多开发者第一次使用 Cursor 的 CtrlK 或 Composer(高级多文件编辑模式)时,都会有一种强烈的、甚至让人有些脊背发凉的冲击感。 因为: 它已经不再是那个我们熟悉的、只能在原地等待光标落下的: “代码自动补全插件&am…...

别再手动测模型了!用Simulink Test Manager实现自动化测试(附Excel表格配置详解)

从手动测试到智能验证:Simulink Test Manager全流程自动化实战指南 在模型开发的迭代过程中,工程师们常常陷入"修改-测试-记录"的循环泥潭。每次参数调整后,手动运行模型、记录数据、比对结果不仅消耗大量时间,更可能因…...

HiveWE终极指南:快速掌握魔兽争霸III现代化地图编辑器

HiveWE终极指南:快速掌握魔兽争霸III现代化地图编辑器 【免费下载链接】HiveWE A Warcraft III world editor. 项目地址: https://gitcode.com/gh_mirrors/hi/HiveWE 还在为传统魔兽争霸III地图编辑器缓慢的加载速度和复杂的操作界面而烦恼吗?Hiv…...

UE5 Cesium项目里,如何把默认的飞行Pawn换成建筑漫游Pawn?保姆级迁移教程

UE5 Cesium项目建筑漫游Pawn迁移实战:从飞行模式到精细化浏览的完整指南当你在UE5中结合Cesium插件构建数字孪生场景时,DynamicPawn提供的全球飞行体验令人印象深刻。但当视角聚焦到单体建筑或室内空间时,那种仿佛操控无人机般的操作方式就显…...

AI 如何改变软件工程:Martin Fowler 视角 + 实战洞见

AI 如何改变软件工程:Martin Fowler 视角 实战洞见 AI(尤其是 LLM)是软件工程自高级语言(从汇编到 C/Fortran)以来最大的转变。它引入了非确定性(Non-deterministic)编程,改变了从编…...