Introduce CV DebugMate C++: a VS Code extension for debugging with OpenCV

Hey everyone,

As a developer working on SLAM and Computer Vision projects in C++, I was constantly frustrated by the lack of proper debugging tools in VS Code after moving away from Visual Studio’s Image Watch. Staring at memory addresses for cv::Mat and std::vector<cv::Point3f> felt like debugging blind!

So, I decided to build what I needed and open-source it: CV DebugMate C++.

It’s a VS Code extension that brings back essential visual debugging capabilities for C++ projects, with a special focus on 3D/CV applications.


:glowing_star: Key Features

1. Powerful cv::Mat Visualization

  • Diverse Types: Supports various depths (uint8, float, double) and channels (Grayscale, BGR, RGBA).

  • Pixel-Level Inspection: Hover your mouse to see real-time pixel values, with zoom and grid support.

  • Pro Export: Exports to common formats like PNG, and crucially, TIFF for preserving floating-point data integrity (a must for deep CV analysis).

2. Exclusive: Real-Time 3D Point Cloud Viewing (The Game Changer)

  • Direct Rendering: Directly renders your std::vector<cv::Point3f> or cv::Point3d variables as an interactive 3D point cloud.

  • Interactive 3D: Built on Three.js, allowing you to drag, rotate, and zoom the point cloud right within your debugger session. Say goodbye to blindly debugging complex 3D algorithms!

3. Wide Debugger Support

  • Confirmed compatibility with common setups: Windows (MSVC/MinGW), Linux (GDB), and macOS (LLDB). (Check the documentation for the full list).

:hammer_and_wrench: How to Use

It’s designed to be plug-and-play. During a debug session, simply Right-Click on your cv::Mat or std::vector<cv::Point3f> variable in the Locals/Watch panel and select “View by CV DebugMate”.

:link: Get It & Support

The plugin is completely free and open-source. It’s still early in development, so feedback and bug reports are highly welcome!

If you find it useful, please consider giving it a Star on GitHub or a rating on the Marketplace—it’s the fuel for continued bug fixes and feature development! :folded_hands:

1 Like