Skip to content

OpenCV 5.x API coverage: full module-by-module gap sweep (tracking issue) #2019

Description

@shimat

Overview

Tracking issue for a full OpenCV 5.x / opencv_contrib API coverage sweep, in the spirit of #1924 (which tracked the OpenCV 4→5 API delta specifically and is closed). This one instead diffs OpenCV's CV_EXPORTS_W/CV_WRAP surface against the current OpenCvSharp wrapper module-by-module, independent of when a given C++ API was introduced — it grew out of finding that geometry/segment.hpp had two large unwrapped classes (SACSegmentation/RegionGrowing3D, closed via #2000/#2001) even though the module's free functions were already wrapped.

Baseline: opencv @ 40738fb, opencv_contrib @ 755e506 (both pinned submodule commits on main, 2026-07-05).

Full interactive report: https://htmlpreview.github.io/?https://raw.githubusercontent.com/shimat/opencvsharp/main/docs/reports/opencv5-coverage-audit-2026-07-05.html — collapsible per-module tables with header:line citations, quick-wins highlights, and net-new-module candidates. Source: docs/reports/opencv5-coverage-audit-2026-07-05.html (self-contained, no build step).

Roughly ~150 gap items were found across 31 audited modules. They're split into the sub-issues below by related module group, each sized to be a few PRs' worth of related work (mirroring how #2000/#2001 handled the geometry module as stacked PRs). Each sub-issue's body has the full per-item detail (header:line citations, description, effort estimate) so implementers shouldn't need to re-derive it from scratch.

Sub-issues

Modules verified fully covered (no sub-issue needed)

ptcloud, quality, xphoto, dnn_superres — audited with zero findings against their full CV_EXPORTS_W/CV_WRAP surface.

Explicitly out of scope

  • mcc — surfaced as a candidate but cmake/opencv_build_options.cmake has BUILD_opencv_mcc OFF; not compiled into this project's native build.
  • CUDA modules, viz (VTK), sfm (Ceres/gflags/glog), cvv (Qt), ovis (OGRE), matlab/julia bindings, fastcv (Qualcomm SDK) — none of these toolchains are vendored on any CI platform (see vcpkg.json).
  • freetype, alphamat — real, wrappable, but their dependencies (freetype2+harfbuzz, Eigen3) are vendored for osx only, not Windows/Linux — noted in OpenCV 5.x: net-new small modules (plot, phase_unwrapping, hfs, signal, xstereo) #2017 as a follow-up if that changes.

Note on process

This sweep was done with several parallel research passes per module group, each independently re-verified against the actual header/source content (not taken at face value) — two items initially reported as "already wrapped" (FaceRecognizerSF, QRCodeEncoder, plus aruco's Board/GridBoard) turned out to be genuine gaps on closer inspection; those corrections are called out in #2013.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions