Intel RealSense 455深度相机内参与录制分辨率是否需匹配?
关于RealSense D455高分辨率深度数据恢复点云的问题
可以恢复点云,但必须获取对应1280×800分辨率的深度流内参,不能直接使用之前848×480分辨率下获取的内参。
原因很明确:相机内参(fx、fy、ppx、ppy等核心参数)与当前流的分辨率绑定,不同分辨率下这些参数会存在差异,误用不匹配的内参会导致点云出现畸变、坐标偏移等问题。
你需要修改代码,在启动pipeline时先指定深度流的目标分辨率,再获取对应内参。修正后的代码示例如下:
import pyrealsense2 as rs pipeline = rs.pipeline() cfg = rs.config() # 指定深度流为1280×800分辨率,D455支持该分辨率@30fps的深度输出 cfg.enable_stream(rs.stream.depth, 1280, 800, rs.format.z16, 30) # 启动pipeline并获取对应深度流的配置文件 profile = pipeline.start(cfg).get_stream(rs.stream.depth) # 注意修正原代码的拼写错误:as_video_stream_profle 应为 as_video_stream_profile intr = profile.as_video_stream_profile().get_intrinsics()
获取到匹配1280×800分辨率的内参后,即可正常将该分辨率的深度帧转换为点云数据。
内容的提问来源于stack exchange,提问作者Emma
相关产品推荐
相关产品推荐

