VS Code 里的 Image Watch 来了!C++ 图像/点云/曲线调试从未如此简单

72 阅读3分钟

一、 痛点:你在如何调试 C++ 算法?

作为一名 C++ 开发者,尤其是在从事计算机视觉 (CV)、机器人或算法开发时,你是否遇到过以下尴尬:

  • 想看 cv::Mat 里的图像,只能先 cv::imwrite 保存到本地,再打开文件夹查看?
  • 想看 std::vector 里的数值分布,只能在控制台打印一长串 printf,然后肉眼找规律?
  • 想看 3D 点云数据,还得专门写个 pcl::viewer 或者把数据导出给 Python 绘图?

这些碎片化的操作严重打断了编程心流。难道 VS Code 就不能像 Visual Studio 的 Image Watch 那样,在调试时直接看图吗?

答案是:能!CV DebugMate C++ 插件正式发布!


二、 简介:CV DebugMate 是什么?

CV DebugMate 是一款专为 VS Code 打造的 C++ 调试可视化扩展。它的目标是将调试过程中的枯燥变量数值,转化为直观的图像、曲线和 3D 模型


三、 核心功能:全方位覆盖 1D/2D/3D 数据

1. 📈 1D 曲线图

支持 std::vectorstd::arraystd::set 以及单通道的 Mat。

  • 交互式缩放:框选放大、滚轮平移。
  • 多种模式:支持折线图、散点图、直方图。
  • 一键导出:支持导出 PNG 图片或 CSV 原始数据。

image.png

2. 🖼️ 2D 图像查看器(Image Watch 的 VS Code 完美复刻)

支持 cv::Matcv::Matx、C 风格数组等。

  • 高倍率放大:放大到 100 倍时,可直接在像素格上显示数值。
  • 自动归一化:支持浮点型和整数型图像的对比度拉伸。
  • 伪彩色/通道查看:单通道、多通道一键切换。

image.png

3. 📊 3D 点云查看器

支持 std::vector<cv::Point3f> 等各种 3D 点集。

  • Three.js 驱动:流畅的旋转、缩放、平移体验。
  • 轴向着色:可根据 X/Y/Z 坐标自动上色,快速观察几何结构。
  • 导出 PLY:方便后续导入 MeshLab 等专业软件。

image.png

4. ⚡ 深度集成与同步
  • 自动检测:调试时,侧边栏会自动显示当前作用域内的所有可识别变量。
  • 视图同步:两张图像对比调试?支持缩放/平移联动。
  • 多平台/多调试器:完美支持 Windows (MSVC/MinGW)、macOS (Clang) 和 Linux (GCC)。
image.png ---

四、 快速上手

  1. 在 VS Code 插件市场搜索 CV DebugMate 并安装。
  2. 在你的 C++ 项目中设置断点并启动调试。
  3. 点击左侧“运行和调试”视图,在下方的 CV DebugMate 面板中点击你想查看的变量。
  4. Boom! 可视化窗口瞬间开启。

(此处建议插入一张演示 GIF 或拼图,展示插件运行时的实时感)


五、 为什么选择 CV DebugMate?

相比于市面上已有的方案,我们做了深度优化:

  • 零侵入性:无需在你的 C++ 代码中引入额外的头文件或链接库(除非你使用的是自定义类型)。
  • 原生感:界面 UI 深度契合 VS Code 风格,不突兀。
  • 高性能:采用二进制流传输数据,百万级点云也能快速渲染。

六、 欢迎参与贡献

本项目完全开源!如果你有以下需求,欢迎在 GitHub 提 Issue 或 PR:

  • 支持更多自定义数据类型(如 Eigen、PCL 类型)。
  • 优化更大数据量的传输效率。
  • 界面功能增强。

如果这个插件帮到了你,请给个 Star ⭐ 鼓励一下开发者!

🔗 GitHub 传送门 🔗 VS Code Marketplace