• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

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

武飞扬头像
点云-激光雷达-Slam-三维牙齿
帮助2

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

学新通

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

 学新通

  1.  
     
  2.  
    # coding:utf-8
  3.  
    import numpy as np
  4.  
    import open3d as o3d
  5.  
     
  6.  
    cloud = o3d.io.read_point_cloud("kitti_p.pcd")
  7.  
    pts = np.asarray(cloud.points)
  8.  
     
  9.  
    # 根据高度生成色彩
  10.  
    colors = np.zeros([pts.shape[0], 3])
  11.  
    height_max = np.max(pts[:, 2])
  12.  
    height_min = np.min(pts[:, 2])
  13.  
    delta_c = abs(height_max - height_min) / (255 * 2)
  14.  
    for j in range(pts.shape[0]):
  15.  
    color_n = (pts[j, 2] - height_min) / delta_c
  16.  
    if color_n <= 255:
  17.  
    colors[j, :] = [0, 1 - color_n / 255, 1]
  18.  
    else:
  19.  
    colors[j, :] = [(color_n - 255) / 255, 0, 1]
  20.  
     
  21.  
    cloud.colors = o3d.utility.Vector3dVector(colors)
  22.  
    o3d.visualization.draw_geometries([cloud], window_name="wechat 394467238 ")
  23.  
     
学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgafbji
系列文章
更多 icon
同类精品
更多 icon
继续加载