"MATLAB style"计算机视觉\图像处理可视化\调试工具
"MATLAB style" computer vision image processing visualization debugging tools
我正在寻找能够在c++中对计算机视觉\图像处理程序进行简单可视化和调试的工具。
需要的主要是调试和研究。
具体功能:
- 显示放大/缩小的图像
- 对图像进行注释的能力
- 将注释链接到数据的能力(单击时将显示)
- 将注释链接到操作的能力
OpenCV有一些功能,但它们非常有限,尤其是鼠标和键盘的交互。
简短回答:我认为没有。
如果您正在调试和进行研究,只需使用Matlab即可。如果速度是个问题,请使用Matlab探查器并将相应的函数混合到C/C++甚至GPU代码中。我做计算机视觉研究已经有好几年了,用这种方式写了很多实时应用程序。
OpenCV不错,VLFeat(同时提供了Matlab和C API)也很棒。然而,最终,使用像Matlab这样的REPL解释语言,你会更快地进行研究。对于计算机视觉原型,我唯一认真考虑的其他替代方案是Python和Lush。
我同意pxu的观点,即可能没有一个图像处理库可以完全满足您的需求。OpenCV和VXL都有一些基本的和/或笨重的GUI组件,但不足以满足您的需求。
如果你想坚持使用C++,那么我建议你选择Qt(在LGPL下发布,因此商业和非商业用途都是免费的)或Microsoft.NET。这两个库框架都有一个很好的UI功能集,用于处理图像(在某种程度上还有视频)和基本形状的渲染。两者都有很好的记录。我的感觉是,即使你是Qt的新手,也只需要几天左右的时间就可以用你列出的功能构建一个简单的应用程序。
如果您希望在Python中创建原型,Qt可能也是一个有趣的选项。Python、PySide/PyQt、OpenCV、NumPy和SciPy的组合应该会提供一个非常不错的原型环境。Enthought还列出了许多其他可能有用的软件包。此外,由于其中一些库在这两种语言中都可用,这将简化从原型到C++优化实现的过渡。
我经常使用的技术是在C++代码中放入一种跟踪点。
int x, y;
double d;
MyImage myImg;
TRACE_POINT(x, y, d, myImg);
TRACE_POINT
是一个有条件地将数据序列化到外部库的宏。例如,ImageJ是一个非常强大的工具,有许多可用的插件。我在一个项目中工作,其中一个简单的基于TCP的ImageJ插件连接到Visual Studio调试器。当您将鼠标悬停在调试器内的myImg
变量上时,图像会自动发送到ImageJ。
或者(升级)类似Cpp2Mtl的Vcall,它知道将数据从这样的TRACE_POINT
直接串行化到Matlab。
- 如何在大型c++项目的可视化代码中设置调试
- C++合并排序可视化工具
- 如何在可视化代码中生成用于 c++ 开发的调试器?
- 所有Visual Studio安装程序崩溃,可视化构建工具也无法正常工作
- 在 MFC C++中悬停列表控件的列标题的可视化显示工具提示
- CMake 与Microsoft可视化C++构建工具
- 可视化C++调试器未显示返回值
- 如何为String_view创建(VC14)调试可视化器
- 是否有用于可视化缓存的工具C++
- 调试可视化C++复杂项目
- 可视化C++条件调试
- 如何为Visual Studio 2012调试器编写自定义本机可视化工具DLL
- 类似(图形可视化)堆栈跟踪(可视化调试)的树
- 如何编写一个非常简单的Visual Studio调试器可视化工具
- 为什么将可视化调试器附加到我的程序比直接从visual studio运行它更快?
- 非托管C++的GDI对象的调试器可视化工具
- "MATLAB style"计算机视觉\图像处理可视化\调试工具
- 如何使用gdb达到与使用可视化调试器相同的效率水平
- 有没有轻量级的linux c++ IDE+像eclipse cdt这样的可视化调试器?
- 我如何使用可视化调试器快速查看本地cpp类