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.

참고(샘플 데이터·문헌)

• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL 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 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*

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