Skip to content

OpenCV 5.x: wrap rgbd module (linemod + KinFu family) #2018

Closed

Description

@shimat

Summary

opencv_contrib's rgbd module is not wrapped in OpenCvSharp at all, but compiles cleanly with the project's existing dependency set (needs opencv_geometry + opencv_ptcloud, both already wrapped; OpenGL/opencv_viz interop is optional-only). It's the single largest genuinely-buildable net-new module found during the OpenCV 5.x coverage audit that started from closing the geometry/segment.hpp gap (#2000/#2001), so it gets its own tracking issue rather than being folded into the smaller net-new-modules issue.

Baseline: opencv_contrib @ 755e506 (pinned submodule commit on main).

Surface

linemod — template-matching detection pipeline
  • linemod::Detector — the core template-matching detector (addTemplate, match, read/write, template persistence)
  • linemod::Modality + concrete modalities (ColorGradient, DepthNormal) — feature-extraction strategies the detector composes
KinFu volumetric-fusion family — 4 Algorithm-derived classes, each with a Params struct
  • kinfu::KinFu — the base real-time dense-SLAM reconstruction pipeline
  • dynafu::DynaFu — non-rigid (deformable-scene) variant
  • colored_kinfu::ColoredKinFu — color-aware variant
  • large_kinfu::LargeKinfu — large-scale-scene variant

Suggested approach

Same shape as the recently-wrapped ptcloud classes (VolumeSettings/Volume) — CvPtrObject-based algorithm-class pattern with a create() factory per class, per .github/copilot-instructions.md's "Adding a new OpenCV class wrapper" checklist. Given the size (5 classes total, each with a non-trivial Params struct), this is realistically a multi-PR effort:

  1. linemod::Detector + Modality family (smallest independent unit)
  2. kinfu::KinFu (the base/simplest volumetric class)
  3. dynafu::DynaFu / colored_kinfu::ColoredKinFu / large_kinfu::LargeKinfu (each shares most of its shape with KinFu, so these should go faster once the first one establishes the pattern)

Notes

Effort: large overall (multi-class family); each individual class is roughly medium-to-large on its own once the shared Params-struct pattern is established by the first PR.

Activity

  1. added
    enhancementNew feature or improvement to OpenCvSharp
    on Jul 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or improvement to OpenCvSharp

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions