space_carving op• 데이터 종류: images → voxel
• 호출: import fullseye as fs; fs.ledger.carve(silhouettes: 'Sequence[np.ndarray]', Ks: 'Sequence[np.ndarray]', Rs: 'Sequence[np.ndarray]', ts: 'Sequence[np.ndarray]', bounds: 'Bounds', res: 'int') -> 'np.ndarray'(구현을 직접 호출하려면 import visualhull; visualhull.carve(silhouettes: 'Sequence[np.ndarray]', Ks: 'Sequence[np.ndarray]', Rs: 'Sequence[np.ndarray]', ts: 'Sequence[np.ndarray]', bounds: 'Bounds', res: 'int') -> 'np.ndarray', 원장에서 가져오려면 ops3d.get("carve"))
bounds 를 res^3 voxel 로 이산화하고, 모든 실루엣 안으로 투영되는 voxel 만 남깁니다(공간 조각).
> 아래 상세 설명은 원문입니다 —— 요약과 제목은 번역되어 있습니다.
各 voxel 中心を全カメラ `m に X_cam = R_m X + t_m` で射影し、depth>0・画像内・
`silhouettes[m]` が前景、を すべて 満たす voxel だけ keep する(視錐の共通部分)。
シルエット/カメラは長さ M のリスト。
Parameters
----------
silhouettes : list of (H, W) bool array 各カメラの前景マスク(M 個)。
Ks, Rs, ts : list 各カメラの内部パラメータ・回転・並進(各 M 個)。
bounds : ((xmin,xmax),(ymin,ymax),(zmin,zmax)) 彫刻する直方体領域。
res : int 各軸の voxel 分割数(voxel 総数 = res^3)。
Returns
-------
(res, res, res) bool ndarray 占有 voxel。indexing='ij' で軸は (x, y, z)。
`vox[i,j,k] の中心は (xmin+(i+.5)dx, ymin+(j+.5)dy, zmin+(k+.5)dz)`。
• blender_interop — Blender との併用 — 形を作って fullseye で測る(軸・単位・正解データの罠)
• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.
• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.
• space_carving — py -3.11 examples_3d/space_carving.py
voxel 를 입력으로 받는 것)voxel_to_mips · voxel_to_mesh · signed_distance_field · to_points · sobel3d · hessian3d · curvature_maps · edt_jfa
space_carving)visual_hull · synthesize_silhouette · carve_look_at
*Provenance: visualhull.py — 3D 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.