feat(bringup): D435i depth hole filler via bilateral interpolation (Issue #268) #271
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "sl-perception/issue-268-depth-holes"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
_depth_hole_fill.py:valid_mask()(zero/NaN/out-of-range → False);fill_holes(depth, kernel_size=5, d_min=0.1, d_max=10.0, max_passes=3)— fully-vectorised multi-pass spatial-Gaussian hole fill usingcv2.filter2D; formula:filled = Σ G(dist)·d_valid / Σ G(dist)over valid neighbours; passes use kernels scaled ×1/×2.5/×6 so small→large holes are covered; original valid pixels are never modified;BORDER_REFLECTprevents artefacts at image edgesdepth_hole_fill_node.py: subscribes/camera/depth/image_rect_raw(BEST_EFFORT, configurable); handles uint16 mm→float32 m auto-conversion; publishes filled float32 on/camera/depth/filledat camera rate; output suitable for VO, RTAB-Map, floor classifierTest plan
test/test_depth_hole_fill.py— 37/37 pure-Python tests pass (no ROS2 required)/camera/depth/image_rect_rawvs/camera/depth/filledin RViz — confirm black regions (holes) are filled🤖 Generated with Claude Code