Getting Started
- Generate a scene: Select a scene type from the Controls panel and click "Generate Scene". A synthetic RGB-D pair will be created.
- Explore in 3D: Use mouse controls in the centre panel to rotate, pan, and zoom the reconstructed surface mesh.
- Measure a profile: Click two points on the Depth Map canvas to draw a cross-section line. The 1D height profile and roughness metrics (Ra, Rq, Rz) appear below.
- Apply filters: Adjust the bilateral filter sliders and click "Apply Processing" to smooth the depth map while preserving edges.
- Export: Download the 3D data as PLY, PCD, or OBJ for use in MeshLab, CloudCompare, or Blender.
What is RGB-D?
RGB-D combines a standard colour photograph (RGB) with a per-pixel distance measurement (D = depth). Each pixel records not just its colour but how far that point is from the camera, enabling 3D reconstruction. Common RGB-D sensors include Intel RealSense (structured light), Microsoft Kinect (time-of-flight), and SICK Ranger3D (laser line profiling).
Processing Pipeline
- Input: RGB + Depth image pair (synthetic or uploaded)
- Bilateral Filter: Edge-preserving noise reduction. Sigma Spatial controls smoothing extent; Sigma Range controls edge sensitivity.
- Hole Filling: Nearest-neighbour interpolation fills small invalid (zero-depth) regions.
- Surface Normals: Computed from depth gradients: n = normalize(-dz/dx, -dz/dy, 1)
- Mesh Generation: Each valid 2x2 pixel quad becomes two triangles for 3D rendering.
- Analysis: Curvature (Gaussian K, Mean H), cross-section profiles, and roughness metrics (ISO 4287).
Keyboard & Mouse Controls
| Left-click + drag | Rotate 3D view (orbit) |
| Right-click + drag | Pan 3D view |
| Scroll wheel | Zoom in/out |
| Click on Depth Map | Set profile start point (1st click) / end point (2nd click) |
| ? | Toggle this help modal |
| Esc | Close this help modal |
Export Formats
- PLY (Polygon File Format): ASCII point cloud + mesh. Compatible with MeshLab, CloudCompare, Blender, Open3D.
- PCD (Point Cloud Data): ASCII point cloud for PCL (Point Cloud Library). Supports packed RGB.
- OBJ (Wavefront): Triangle mesh with 1-based face indexing. Universal format for 3D modelling software.