1.高程渲染原理与实现流程

1.1 基本原理

  1. 基于高程的色彩渲染通过将点云Z坐标(高程)映射到色谱,实现高程信息的可视化表达。核心思想:
  2. 高程值归一化:将Z值映射到[0,1]区间
  3. 颜色映射:使用预定义色谱(如Matplotlib的jet/viridis)进行RGB转换
  4. 颜色赋值:将计算后的RGB值赋予点云颜色属性

1.2 算法流程 

  1. 读取PCD文件
  2. 提取高程范围:计算min_z和max_z
  3. 归一化高程值:(z - min_z)/(max_z - min_z)
  4. 颜色映射转换
  5. 颜色赋值与可视化
  6. 结果保存

 1.3 参考文献 

[1] Open3D官方文档:http://www.open3d.org/docs/release/

[2] Zhou Q Y, et al. Open3D: A Modern Library for 3D Data Processing

2.代码实现

import open3d as o3d
import numpy as np
import matplotlib.pyplot as plt

def save_visualization(pcd, view_params, output_path, is_raw=False):
    """通用可视化保存函数"""
    vis = o3d.visualization.Visualizer()
    vis.create_window(window_name="点云原始数据" if is_raw else "高程渲染结果",
                     width=800, height=800)
    vis.add_geometry(pcd)
    
    # 统一视角控制
    ctr = vis.get_view_control()
    ctr.set_front(view_params["front"])  # 相同观察角度
    ctr.set_up(view_params["up"])
    ctr.set_zoom(view_params["zoom"])
    
    vis.poll_events()
    vis.update_renderer()
    vis.capture_screen_image(output_path)
    vis.destroy_window()

def dual_output(pcd_path, raw_output, render_output):
    # 公共视角参数
    view_config = {
        "front": [0, 0, -1],
        "up": [0, -1, 0],
        "zoom": 0.6
    }
    
    # 原始点云处理
    raw_pcd = o3d.io.read_point_cloud(pcd_path)
    raw_pcd.paint_uniform_color([0.7, 0.7, 0.7])  # 浅灰色
    
    # 高程渲染处理
    render_pcd = o3d.io.read_point_cloud(pcd_path)  # 重新加载避免污染原始数据
    z_coords = np.asarray(render_pcd.points)[:, 2]
    colors = plt.get_cmap('viridis')((z_coords - z_coords.min()) / (z_coords.max() - z_coords.min()))[:, :3]
    render_pcd.colors = o3d.utility.Vector3dVector(colors)

    # 分两次生成图像
    save_visualization(raw_pcd, view_config, raw_output, is_raw=True)
    save_visualization(render_pcd, view_config, render_output)

if __name__ == "__main__":
    dual_output(
        pcd_path = "terrain.pcd",
        raw_output = "raw_cloud.png",
        render_output = "rendered_cloud.png"
    )

 3.结果输出

 

输入点云图

高程渲染图

 

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐