depth_to_points — 3D transform op

• 数据种类:depth → points

• 调用: import fullseye as fs; fs.ledger.depth_to_points(depth, fx, fy, cx, cy, stride=1)(要直接调用实现,import match3d; match3d.depth_to_points(depth, fx, fy, cx, cy, stride=1);从台账取用则 ops3d.get("depth_to_points"))

用法

深度图(2.5D)→ 点云(针孔反投影)。把 depth 行接到所有方法。

由像素 (行 v, 列 u) 的深度 z 生成 X = (u − cx)·z/fx、Y = (v − cy)·z/fy、Z = z。返回值为 (N,3) float64,各列是 (X, Y, Z) 的相机坐标(与深度同单位)。z 为 0 以下的像素被丢弃,所以 N 不超过像素数(约定以 0 表示无效深度)。

• fx, fy, cx, cy: 以像素为单位的焦距和主点。与 project_points 的 K 约定相同。

• stride: 行、列都每隔 stride 个像素抽取。u, v 用抽取后的 index 乘以 stride

得到的 原图像像素坐标 计算,因此抽取不改变几何。

• 没有输入校验(不是 2-D 时在下标处失败)。NaN 深度因 z > 0 为假而被丢弃。

• 点按行优先顺序排列,但不保留行、列信息。若要保留网格结构,用

depth_to_organized_points。

后续: points_to_voxel / estimate_point_normals / icp_point2plane。逆映射为 project_points,转 TSDF 用 tsdf_from_depth。

参考(示例数据、文献)

• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。

• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。

可运行的示例(实际调用该算子并已验证的样例)

• structured_light_scan — py -3.11 examples_3d/structured_light_scan.py

• transforms_repr — py -3.11 examples_3d/transforms_repr.py

类型可衔接的下一个算子(可接受 points 作为输入)

points_to_voxel · gaussians_to_voxel · estimate_point_normals · to_points · match_points_ncc · match_pca · moment_axes · icp_point2point_3d

同类别(transform)

points_to_voxel · gaussians_to_voxel · mesh_to_voxel · mesh_to_points · voxel_to_mips · voxel_to_mesh · tsdf_from_depth · signed_distance_field


*Provenance: match3d.py — 3D 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.