You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Intel RealSense D435的户外苹果园3D重建问题求助

苹果园3D重建中RealSense D435室外点云采集问题及解决方案请求

研究背景与问题

  • 硕士论文聚焦苹果园3D重建,采用Intel RealSense D435相机执行重建工作
  • 已知该相机支持室外作业,但实际采集树木点云时,代码输出结果与realsense_viewer显示内容差异极大,调整depth_units参数后仍无改善
  • 项目需利用ICP(Iterative Closest Point,迭代最近点)算法对相机采集的多帧点云进行配准,最终生成完整场景点云

当前使用的Python代码(室内效果优异,室外效果极差)

# First import the library
import pyrealsense2 as rs
from pynput import keyboard

counter = 0

def on_press(key):
    global counter
    if key == keyboard.Key.space:
        print("Saving pcd_{}.ply".format(counter))
        points.export_to_ply("/home/agilex/thesis_ws/src/reconstruction/img/point_cloud/pcd_{}.ply".format(counter), color_frame)
        print("Done")

def on_release(key):
    global counter
    counter += 1
    if key == keyboard.Key.esc:
        # Stop listener
        return False

if __name__ == '__main__':
    pipe = rs.pipeline()
    config = rs.config()
    config.enable_stream(rs.stream.depth)
    config.enable_stream(rs.stream.color)
    align_to = rs.stream.color
    align = rs.align(align_to)
    profile = pipe.start(config)
    device = profile.get_device()
    depthsensor = device.first_depth_sensor()
    if depthsensor.supports(rs.option.depth_units):
        # This value in realsense viewer in micrometers and here is in meters
        depthsensor.set_option(rs.option.depth_units,0.000755)
    frames = pipe.wait_for_frames()
    aligned_frames = align.process(frames)
    aligned_depth_frame = aligned_frames.get_depth_frame()
    color_frame = aligned_frames.get_color_frame()
    pc = rs.pointcloud()
    points = rs.points()
    pc.map_to(color_frame)
    points = pc.calculate(aligned_depth_frame)
    # Collect events until released
    with keyboard.Listener(on_press=on_press,on_release=on_release) as listener:
        listener.join()

    listener = keyboard.Listener(on_press=on_press,on_release=on_release)
    listener.start()

效果对比

  • RGB图像:室外苹果园场景的彩色画面
  • 深度图像:对应场景的深度画面
  • realsense_viewer导出的.ply文件效果:点云完整,能清晰呈现树木及周边环境结构
  • 本人代码输出的.ply文件效果:点云缺失严重,室外场景重建效果极差

需求与求助

目标是获取深度与彩色流,生成并保存多帧场景点云,再通过ICP算法得到完整场景点云。恳请提供基于ROS或SDK的解决方案建议。

内容的提问来源于stack exchange,提问作者Jomana Abdelmoaty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 18:13:15