OpenCV调试利器——Image Watch插件的安装和使用

各大编译工具在调试的时候都可以实时查看变量的值,了解变量值的变动情况,在图像处理相关的程序调试中,是否也可以实时查看内存中图像变量的图形信息以及图像上指定区域或点位的数值变化情况呢?

在工业机器视觉领域应用广泛的Halcon中,提供了一个程序设计界面HDevelop,HDevelop中有一个图像窗口,可以很方便的观察到随着程序运行图形的变化情况;以及包含一个图像数据和控制数据的小窗口,可以监测到各个图形相关变量的缩略图和数据信息,非常直观方便。


Halcon主界面:



图像变量窗口:



在OpenCV中,也有一个小插件可以实现类似于Halcon的实时显示功能,不必为了查看运行过程图像而在代码中插入N个imshow函数了,这个插件就是Image Watch。

Image Watch是Microsoft Visual Studio(不是OpenCV小组)开发的一款用于内存中保存图像(例如:Mat)可视化的一款插件,适用于在程序调试过程中实时显示图像和Mat矩阵中的内容,跟Matlab和Halcon很像,使用起来也很方便。


Image Watch的下载和安装


下载地址:Visual Studio插件Image Watch for OpenCV

下载完之后双击完成安装,或者拖动Image Watch到VS2012安装路径下IDE下的VSIXInstaller.exe文件上释放:





安装之后重新启动VS生效。新建一个OpenCV工程,在Debug模式下设置断点,通过依次选择view->other windows->Image Watch,打开Image Wathc窗口,即可实时显示内存中的Mat图像。


Image Watch的基本操作包括:


1. 放大、缩小图像:


鼠标放到图像上之后,通过滚轮可以调节图像缩放,右上角显示的数字是当前图像的缩放比例。





2. 将图像保存到指定的目录:


在左侧小图标上点击右键,选择“Dump to File”可以保存过程图像到本地硬盘。




3. 显示图像大小、通道数:


在Image Watch左侧小图标的右侧,显示的是图像大小,通道数和数据类型信息,如下图区域D所示:





4. 拖拽图像


图像被放大后,通过按下左键可以拖动图像移动。


5. 可以查看指定坐标的像素值(按照在内存中的顺序显示)


鼠标放在图像上,在图像上侧的标题栏里可以显示当前鼠标点坐在的位置,以及当前点的像素值;

进一步放大图像,图像的像素值会直接在图像像素点的位置上显示:




原文地址:https://www.cnblogs.com/mtcnn/p/9411939.html