根据点云高度赋色(附open3d python代码)

2023-11-09

绘制点云图时用颜色来表征其高度,
我们先计算了点云的高度范围,然后把每个点的颜色根据高度来进行映射
稍微修改代码,我们也可以让高度颜色渐变转换为 X 轴距离颜色渐变:

稍微修改代码,我们也可以让高度颜色渐变转换为 X 轴距离颜色渐变:

 


# coding:utf-8
import numpy as np
import open3d as o3d

cloud = o3d.io.read_point_cloud("kitti_p.pcd")
pts = np.asarray(cloud.points)

# 根据高度生成色彩
colors = np.zeros([pts.shape[0], 3])
height_max = np.max(pts[:, 2])
height_min = np.min(pts[:, 2])
delta_c = abs(height_max - height_min) / (255 * 2)
for j in range(pts.shape[0]):
    color_n = (pts[j, 2] - height_min) / delta_c
    if color_n <= 255:
        colors[j, :] = [0, 1 - color_n / 255, 1]
    else:
        colors[j, :] = [(color_n - 255) / 255, 0, 1]

cloud.colors = o3d.utility.Vector3dVector(colors)
o3d.visualization.draw_geometries([cloud], window_name="wechat 394467238 ")

 

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

根据点云高度赋色(附open3d python代码) 的相关文章

随机推荐

  • 二叉查找树 数组实现 ArrayBinarySearchTree

    数组实现的二叉查找树 适用查找操作频繁 插入 删除操作较少的情况 代码 using System namespace DataStructure 数组实现的二叉查找树 输入一个数组 获得一颗二叉查找树 找parent 和 child ind
  • 华为OD机试 - 文件目录大小(Java & JS & Python)

    题目描述 一个文件目录的数据格式为 目录id 本目录中文件大小 子目录id列表 其中目录id全局唯一 取值范围 1 200 本目录中文件大小范围 1 1000 子目录id列表个数 0 10 例如 1 20 2 3 表示目录1中文件总大小是2
  • c++ 实现信号和槽机制

    主要通过 c 实现类型QT 信号和槽的问题 设计思路 1 利于模板函数和模板类的 通用性 2 BInd的时候 讲槽函数指针保存 触发时调用 代码如下 include
  • 用python函数写斐波那契数列的函数_python—函数进阶-斐波那契数列

    上次说到生成器的调用next 这样很不方便 需要手动调 我们一般是循环着调 while for都可以 a i for i in range 5 for i in a print i 0 1 2 3 4 执行结果 和手动调的区别是没了的话就会
  • [高级数据结构C++] 线段树(区间和的查询与修改)

    算法竞赛 file author jUicE g2R qq 3406291309 彬 bin 必应 一个某双流一大学通信与信息专业大二在读 brief 一直在算法竞赛学习的路上 copyright 2023 9 COPYRIGHT 原创技术
  • vue-quill-editor 富文本编辑器上传图片自base64改为上传到服务器

    就是要一个富文本编辑器 然后有图片上传功能 因为vue quill editor是将图片转为base64编码 所以当图片比较大时 提交后台时参数过长 导致提交失败 vue quill editor引入过程略 我其它文章里面有 废话不多说 上
  • 实战搞定gRPC之移植篇

    一 交叉编译protobuf 1 配置交叉编译器 export PATH PATH opt EC20 crosstool ql ol crosstool sysroots x86 64 oesdk linux usr bin opt EC2
  • C++安全编码-第一章

    1 优先C 特性而不是C特性 std string std string view char std vector std array 原生数组 namespace static 引用 智能指针 普通指针 iostream printf s
  • python+Selenium+无界面启动

    Selenium无界面启动 方法一 selenium version 3 141 0 谷歌浏览器 version 87 0 4280 88 正式版本 64 位 from selenium import webdriver opt webdr
  • 嵌入式C语言(一)

    嵌入式 C语言 一 一 Linux基础操作及C语言简单语法 万丈高楼平地起 学习还得靠自己 1 C语言的本质 C语言的本质就是操作内存 2 关键字和标识符 关键字 关键字是指编译器中已经定义好的特殊单词 注意区分大小写 标识符 标识符是用户
  • 6 个高影响力的大型语言模型应用,探索当今可行的现实且高影响力的LLM

    1 Research Assistant 研究助理 如果您曾经写过文章 论文或博客 您就会知道工作的很大一部分在于筛选大量出版物 确定要阅读并理解的相关研究可能是一项艰巨的任务 技术出版物的市场是巨大的 每个月提交到arXiv 的论文数量几
  • leetcode

    文章目录 买卖股票的最佳时机 买卖股票的最佳时机 II 买卖股票的最佳时机 III 买卖股票的最佳时机 IV 最佳买卖股票时机含冷冻期 买卖股票的最佳时机含手续费 买卖股票的最佳时机 前i天的最大收益 max 前i 1天的最大收益 第i天的
  • okhttp3源码解析(3)-拦截器 II

    okhttp3源码解析 3 拦截器 II 前言 上篇博文从RealInterceptorChain开始 讲解了RetryAndFollowUpInterceptor和BridgeInterceptor两个拦截器 后面还有三个系统拦截器 其实
  • Flink执行流程

    1 flink关键字对比spark flink spark operator RDD operator chain stage data flow DAG one to one 窄依赖 redistribute 宽依赖 subtask ta
  • 如何使用 Parallels Desktop 虚拟机在 Mac 上安装 Windows 系统!

    一 下载安装 Parallels Desktop for Mac 如果您刚开始接触 Parallels Desktop for Mac 请点击下载最新版本 访问 如果已是 Parallels Desktop 用户 请继续执行后续步骤 二 自
  • STM32使用bool型变量

    环境Keil5 编译器 include
  • facebook 获取好友列表

    直接上函数 public void getfriends if Session getActiveSession null Session getActiveSession isOpened new Request Session getA
  • javamail发送邮件

    废话不多说 直接上代码 以下三段代码是我的全部代码 朋友们如果想用 直接复制即可 jar包因为我不知道怎么传到javaeye上 所以朋友们回去自己打吧 我的代码有三个类 第一个类 MailSenderInfo java package co
  • Win10 AMD显卡不兼容造成的开机黑屏问题解决

    1 将以下文本粘贴到文本文件中 保存为ULPS Disable reg Windows Registry Editor Version 5 00 HKEY LOCAL MACHINE SYSTEM ControlSet001 Control
  • 根据点云高度赋色(附open3d python代码)

    绘制点云图时用颜色来表征其高度 我们先计算了点云的高度范围 然后把每个点的颜色根据高度来进行映射 稍微修改代码 我们也可以让高度颜色渐变转换为 X 轴距离颜色渐变 稍微修改代码 我们也可以让高度颜色渐变转换为 X 轴距离颜色渐变 codin