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

绘制点云图时用颜色来表征其高度,
我们先计算了点云的高度范围,然后把每个点的颜色根据高度来进行映射
稍微修改代码,我们也可以让高度颜色渐变转换为 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 ")

 文章来源地址https://uudwc.com/A/PdV5g

原文地址:https://blog.csdn.net/a394467238/article/details/128076740

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年08月12日 23:04
下一篇 2023年08月12日 23:06