基于Open3D的点云处理5-点云之间的距离计算

2023-11-11

计算在一片点云中的每一个点在另一片点云中最近点的距离:

  • 常规写法,通过k-d Tree进行搜索每个点的最近点;

[k, idx, dist] = k_dTree.search_knn_vector_3d(pc2.points[i],k) #通过k-d Tree进行搜索最近点;
# k返回点个数
# idx 返回点索引
# dist 返回点距离

  • open3d 提供了直接计算点云与点云之间距离的函数

compute_point_cloud_distance()

import open3d as o3d
import numpy as np
#首先读取原始点云和求异点云
pc1 = o3d.io.read_point_cloud("./data/1.ply",remove_nan_points=True,remove_infinite_points=True)#原始点云
pc2 = o3d.io.read_point_cloud("./data/2.ply",remove_nan_points=True,remove_infinite_points=True)#求异点云
dist = pc2.compute_point_cloud_distance(pc1)
idx = [i for i,distance in enumerate(dist)  if distance>0.5 ]
#最后将点云中相同的部分和不同的部分分别取出来进行显示
same_part = pc2.select_by_index(idx)
diff_part = pc2.select_by_index(idx,invert=True)
same_part.paint_uniform_color([1,0,0])
diff_part.paint_uniform_color([0,0,1])
o3d.visualization.draw_geometries([same_part,diff_part])

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于Open3D的点云处理5-点云之间的距离计算 的相关文章

  • Java/LWJGL:OpenGL 中的 Z 轴表现得像左手坐标系

    最近 我寻求帮助 https stackoverflow com q 18836484 1530508关于 OpenGL 中的 3D 相机旋转 这个答案 https stackoverflow com a 18836618 1530508接
  • 在python opengl中使用图像中的2d点获取空间中的3d点

    我正在尝试模拟房间中的深度相机 我的相机能够在世界中移动和旋转 并且房间被模拟为围绕 0 0 0 的 3d 立方体 单击按钮时 我想对图像中的 N 个随机点进行采样 并获取这些点与相机的距离 现实世界 中的距离 到目前为止 我已经成功创建了
  • 矩形相交

    是否有任何已知的方法来计算两个矩形之间的相交矩形 我的意思是 如果矩形 A 由 x1 y2 x2 y2 定义 B 由 x3 y3 x4 y4 定义 那么如何计算相交矩形 C x5 y5 x6 y6 的坐标 Thanks 相交多边形的一般问题
  • 根据表面包围的 3D 区域将表面分配给区域

    给定三维空间中的一组曲面 我尝试将每个曲面分配给一个区域 该区域引用该组所包围的最小 3D 区域 或者如果不适用则不指定任何区域 我还想确定一个表面是否是两个区域之间的界面 因此 例如 如果我们有 11 个表面 代表两个堆叠在一起的立方体
  • 在运行时更改 AR core 中对象的纹理

    我正在创建一个应用程序 我需要在其中更改 3d 对象的纹理 图案 我正在使用 AR Core SDK 和 android 我已经使用了下面的代码 但它不起作用 Texture builder setSource this R drawabl
  • Python openAL 3D 声音

    我刚刚开始使用 python 正在制作音频操作程序 我正在尝试在我的 python 应用程序中使用 openAL 实现 3D 声音 但我只能让它工作 这是我的 3D 声音代码 from openal loaders import load
  • 从绘图 3d 图中抓取相机位置

    我正在绘制 3D 图形并想要调整相机位置 对我来说最好的方法是使用查看器 根据需要缩放和旋转场景 然后以 JSON 形式获取相机位置并将其放入我的脚本中 该脚本生成图片以默认实现相同的位置 根据这条推文 https twitter com
  • 计算 3D(或 n 维)质心的最佳方法是什么?

    作为工作项目的一部分 我必须计算 3D 空间中一组点的质心 现在我正在以一种看似简单但天真的方式来做这件事 通过取每组点的平均值 如下所示 centroid average x average y average z where x y a
  • WP7 XNA 显示 3D FBX 模型

    我只是初学者 很抱歉我的愚蠢问题 我的模型看起来像这样 http img265 imageshack us img265 8291 clipboard01ap jpg http img265 imageshack us img265 829
  • 给定表面法线,找到 3D 平面的旋转

    所以我有一个由 2 个向量描述的 3D 平面 P 位于平面上的点N 平面的表面法线 我有一个非常大的扁平方形多边形 我想渲染它来代表这个平面 我可以轻松地将多边形平移到给定点 但随后我需要找到适当的旋转来应用以使表面法线实际上成为表面法线
  • 如何在 OpenGL 中创建廉价的阴影? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有两个模型 A 和 B 以及一个灯 L 我希望模型 A 在模型 B 上投射阴影 我暂时不想考虑阴影体
  • 3D 哪个更快? Perlin 噪声还是 Simplex 噪声?

    好吧 网上有很多 Perlin 噪声和 Simplex 噪声之间的比较 但我真的找不到一个对三个维度进行简单处理时间比较的地方 这是我最感兴趣的 我读过那个流行的PDF http webstaff itn liu se stegu simp
  • 如何在SceneKit中实现逼真的景深效果?

    我正在尝试渲染具有真实景深效果的帧 我已经尝试过景深属性camera节点 但它不会产生可用的结果 是否可以切换到景深效果的最大渲染质量 性能不是一个因素 我只需要渲染一帧 用户可以等待它 SceneKit 中逼真的景深效果 在SceneKi
  • 可点击的精灵标签?

    我一直在玩精灵文本标签 更具体地说是这个例子 http stemkoski github io Three js Sprite Text Labels html http stemkoski github io Three js Sprit
  • OpenGL z轴指向哪里?

    我正在尝试了解 OpenGL 坐标系 我到处都看到它被描述为右撇子 但这与我的经验不符 我尝试绘制一些形状和 3 d 对象 我发现 z 轴显然指向 屏幕 而 x 指向右侧 y 指向上方 这是左手坐标系的描述 我缺少什么 编辑 例如 http
  • 投影 3D 网格的 2D 轮廓算法

    给定 一个 3D 网格 由一组顶点和三角形定义 并用这些点构建网格 问题 找到任意平面上投影的任意旋转网格的二维轮廓 投影很容易 挑战在于找到平面中投影三角形边的 外壳 我需要一些有关研究该算法的输入 指针的帮助 为简单起见 我们可以假设
  • 将大块位图转换为 3 维位图

    Problem 我需要这个大量的数据作为输入 对于基于C的arduino 这是上面示例中所需格式的大量数据 const byte bitmap 8 8 0xFF 0x81 0x81 0x81 0x81 0x81 0x81 0xFF 0x81
  • 如何创建热图来说明控制发散调色板中心颜色位置的网格差异?

    我有两个人脸 3D 网格 我希望使用热图来说明差异 我想使用红蓝发散色阶 我的数据可以查到here https github com Patricklv How to create heatmap illustraing 3D mesh d
  • 使用 Scipy/Numpy 在浊点的二维插值中仅获取“有效”点

    我有一个通过人的背部摄影测量获得的浊点 我正在尝试对其进行插值以获得规则网格 为此我正在使用scipy interpolate到目前为止取得了良好的成果 问题是 我正在使用的函数 scipy interpolate griddata 使用平
  • GL_CULL_FACE使所有对象消失

    我正在尝试在 openGL3 3 中创建一些简单的多边形 我有两种类型的对象 具有以下属性 对象 1 10 个顶点 按顺序在下面列出 存储在GL ARRAY BUFFER并使用GL TRIANGLE FAN v x y z w v 0 0

随机推荐

  • 如何轻松玩转Rust语言

    Rust是由Mozilla主导开发的通用 编译型编程语言 设计准则为 安全 并发 实用 支持函数式 并发式 过程式以及面向对象的编程风格 本期Meetup由FISCO BCOS核心开发者李陈希给大家分享如何轻松玩转Rust语言 围绕Rust
  • DVWA失效的访问控制

    失效的访问控制 可以认为是系统对一些功能进行了访问或权限限制 但因为种种原因 限制并没有生效 造成失效的访问控制漏洞 比如越权等 这里以DVWA为例 先访问低难度的命令执行并抓包 删除cookie 并在请求头添加路径 dv vulnerab
  • 在使用win10 cmd的时候python报错:python不是内部或外部指令,也不是可运行的程序或批处理文件

    今天想用cmd运行python脚本 但是弹出了python不是内部或外部指令 也不是可运行的程序 解决方法如下 右键我的电脑 属性 高级 环境变量 path 双击path 新建 在下面的框中把python路径填进去 下面来说找路径 win1
  • 【Typora】设置图片保存相对路径

    当使用Typor编写markdown文件时 如果拷贝到其他地方 经常会图片丢失 为了解决这个问题 我使用了图片相对路径设置 文件 gt 偏好设置 找到 图片插入 设置之后保存Typora 文件路径如下 这样就不怕找不到图片啦
  • 【GD32】从0开始学GD32单片机(12)—— TIMER高级定时器详解+DMA修改PWM波占空比例程

    目录 简介 重复计数器 互补模式和死区插入 中止模式 霍尔传感器接口功能 DMA模式 例程 简介 上两篇介绍了基本定时器和通用定时器 下面是文章的链接 TIMER基本定时器详解 1毫秒延时例程 TIMER通用定时器详解 PWM波形输出捕获例
  • Python如何优雅地可视化目标检测框

    1 引言 随着计算机视觉算法工程师的内卷 从事目标检测的小伙伴们越来越多了 很多时候我们费了九牛二虎之力训练了一版模型 可是可视化出来的效果平淡无奇 是不是有点太不给力啦 作为计算机视觉工程师 我们是不是应该关注下如何优雅地可视化我们模型地
  • 漫谈 ChatGPT 与问答式 BI

    近日 观远数据G park Let s Date BI 系列直播第二期 2023 金融业如何应对 流浪数据 顺利落幕 观远数据联合创始人兼首席数据科学家字节带来了 漫谈 ChatGPT 与问答式 BI 的探索思考 字节一方面介绍了一系列 C
  • IDEA这样配置,好用到爆炸

    1 idea 简介 IDEA 全称 IntelliJ IDEA 是 JetBrains 公司 使用 java 编程语言开发的集成环境 这家公司总部位于捷克共和国的首都布拉格 公司旗下还有其它产品 例如 WebStorm PyCharm Ph
  • secureCRT连接,密码是正确的却提示密码错误

    最近用securecrt连接kali 输入的密码绝对是正确的却提醒密码错误 发现是密码认证默认出了问题 解决方法 1 进入配置文件 2 改为允许以root进行登录 把permitrootligin 后改为yes 把最前面的 删掉 3 将密码
  • 2023 年 Pycharm 最新下载安装教程,亲测可用,持续更新

    前言 PyCharm 是一款功能强大的 Python 编辑器 具有跨平台性 鉴于目前最新版 PyCharm 使用教程较少 为了节约时间 来介绍一下 PyCharm 在 Windows下是如何安装的 这是 PyCharm 的下载地址 http
  • 华为机试---字符串运用-密码截取

    题目描述 Catcher是MCA国的情报员 他工作时发现敌国会用一些对称的密码进行通信 比如像这些ABBA ABA A 123321 但是他们有时会在开始或结束时加入一些无关的字符以防止别国破解 比如进行下列变化 ABBA gt 12ABB
  • Social GAN: Socially Acceptable Trajectories with Generative Adversarial Networks 中文翻译

    Social GAN Socially Acceptable Trajectories with Generative Adversarial Networks 中文翻译 如有异议 请多指教 非专业人员 仅供参考 摘要 理解人类的运动行为对
  • 【C++习题笔记】谭浩强C++程序设计(第三版)第七章

    本文是谭浩强老师c 程序设计 第三版 第七章的习题总结 主要涉及结构体的内容 1 定义一个结构体变量 包括年 月 日 编写程序 要求输入年月日 程序能够计算并输出改日是本年中的第几天 注意闰年问题 include
  • 《30天自制操作系统》笔记(02)——导入C语言

    30天自制操作系统 笔记 02 导入C语言 进度回顾 在上一篇 记录了计算机开机时加载IPL程序 initial program loader 一个nas汇编程序 的情况 包括IPL代码 helloos nas 编译生成helloos im
  • C++学习(七十五)有关Orekit

    Orekit ORbits Extrapolation KIT 是一款占用空间少的低层空间动力学 Java 库 它提供基础的元素 比如轨道 日期 属性和框架 和多种算法支持转换 分析和数值传递 Orekit 是纯 Java 库 运行时只依赖
  • 《C++11标准库》4.3.1标准的 Exception Class(异常类)

    所有被语言本身或标准库抛出的异常 都派生自基类 exception 定义于
  • 北大肖臻老师<<区块链技术>>笔记1

    课程的大纲 密码学基础 比特币的数据结构 共识协议和系统实现 挖矿算法和难度调整 比特币的脚本 软分叉和硬分叉 匿名和隐私保护 以太坊是后面的 首先是密码学基础的学习 crypto currency 虚拟货币 是不加密的 区块链上所有的教以
  • Cesium-terrain-builder(CTB)在Centos7中安装并生成地形数据

    Cesium terrain builder CTB 在Centos7中安装并生成地形数据 前言 步骤 安装docker 下载镜像并创建容器 生成地形数据 总结 前言 1 使用docker镜像 homme cesium terrain bu
  • linux运行appimage,技术

    你有没有下载过 AppImage 文件 而你不知道如何使用它 或许你可能知道如何使用它 但是你每次要运行它时必须要进入到下载了该 AppImage 的文件夹中来运行它 或者手动为其创建启动程序 使用 AppImageLauncher 这些就
  • 基于Open3D的点云处理5-点云之间的距离计算

    计算在一片点云中的每一个点在另一片点云中最近点的距离 常规写法 通过k d Tree进行搜索每个点的最近点 k idx dist k dTree search knn vector 3d pc2 points i k 通过k d Tree进