在使用OpenCV时,如果我们想看到一个图片的处理效果,只能把它显示出来,而插入断点调试也只能看到Mat类型变量中的一些信息,看不到图片效果。而ImageWatch插件提供了这种功能。 官方网址:点击打开 我已经下载好了,也可以在这里下载:点击下载
在官方网页我们可以看到,该插件专门为Visual studio准备,而且现在只支持VS2102,VS2103和VS2105。
下载安装很容易,插件会自动搜索符合要求的编译器,我电脑里是VS2013:
安装完成后,在VS2013的“视图—其他视图—Image Watch”中可以看到这个插件,我们可以把它拖出来停靠在VS的右下角,然后找一段程序插入断点测试一下:
我们可以看到,在Image Watch窗口中显示了代码中断点前的所有Mat类型图片,并且该插件提供了Help文档,下面我们就根据这个文档进一步了解他的功能。
这个插件做的真的非常好,安装完成后只增加了一个视图窗口,但是却提供了很多的功能,在功能的呈现上设计的也很轻巧,人性化!!确实能让OpenCV使用起来更加方便:
基本操作:
1.启动问题: 首次启动Image Watch:在调试器中打开并选择View - > Other Windows - > Image Watch。请注意,您只需要执行一次:就像Visual Studio的内置Watch窗口一样,当您停止调试时,Image Watch将会消失,并在下次开始调试时自动重新打开。所以这样看来不停靠的方式更好一些,这样的话写的代码时有更大的空间,调试时的ImageWatch窗口也会更大。
2.工作模式: Image Watch一起作为本地和Watch窗口。左上角的单选按钮在两种模式之间切换,这两种模式的工作方式与Visual Studio的内置本地和监视窗口一样工作:在Locals模式下,图像列表将自动填充所有图像 - 当前堆栈帧中的值变量。在Watch下,用户手动添加图像项目。通过键入图像值表达式。
3.图像查看器: 每个列出的图像都有一个方形图标,表示图像表达式是否有效(蓝色)或无效(灰色)。对于有效表达式,将显示附加信息: 1.缩略图 2.图像大小(宽x高(以像素为单位)) 3.像素格式(通道数x通道数据类型) 4.C ++类型:Mat
可以选择一个图像,以便在图像查看器中进行查看。图像查看器支持平移(鼠标拖动)和缩放(鼠标滚轮)。当前的放大倍数显示在右上方。当前鼠标位置的像素坐标和对应的像素值显示在左上角。
4.与变量监视器的交互: 在变量监视器中点击“放大镜”选项,将变量添加到“图像监视”的“监视”列表。
图像列表菜单选项: 在图像列表右击或者在图像列表中选择一个变量右击,都会弹出图像菜单选项,不同的是前者有一些功能无法使用(这个很好理解,说到后面时自然就知道了):
功能依次为:
1.展开/全部折叠:展开/折叠当前列表中的所有项目
2.展开新项目:控制新列表项目最初是展开还是折叠,选定的话,出事状态是展开。
3.大缩略图:在两个缩略图大小之间切换
4.自动最大化对比度:如果未选中,则使用标准颜色映射规则将像素值映射到显示颜色。如果选中,则将当前像素数据的值范围映射到全部范围的显示颜色。注意:此设置适用于所有图像。
5.1通道伪色:如果未选中,单通道图像显示为灰度。如果选中,则使用伪彩色图。注意:此设置适用于所有图像。
6.4通道忽略Alpha:如果没有选中,四通道图像中的最后一个通道将被解释为alpha。如果选中,最后一个通道将被忽略。
7.添加到Watch:将所选项添加到观察列表
8.添加地址到Watch:将所选项目的地址添加到监视列表。这对于在不同的堆栈帧中观看图像非常有用。
9.转储到文件:将所选图像转储到文件。支持的格式有PNG,JPG和BIN(Image Watch内部无损文件格式)。BIN文件仅用于Image Watch;它们可以使用@file操作符加载到监视列表中。
7和8的区别看下图就知道了,9是个很有用的功能。
图像视图窗口菜单选项: 说完了图像列表菜单,下面就是图像试图菜单了,图像视图窗口在列表窗口的右侧,同样右键单击:
功能依次为:
1.自动缩放适合尺寸:设置缩放因子以适合视窗
2.缩放到原始尺寸:将缩放系数设置为1.0,即一个图像像素占据屏幕上的一个像素
3.链接视图:如果选中,所有相同大小的图像共享一个视图(如Matlab的linkaxes)。例如,如果放大1024x768图像中的区域,然后在图像列表中选择另一个1024x768图像,则查看器将在第二个图像中显示相同的区域。相反,如果然后选择640x480的图像,您将看到一个不同的区域,即所有640x480图像之间共享的区域。 注:其实就是选定你的缩放倍数和缩放中心点,让你选择的第二个图也按照这个倍数和原点缩放,到时一试就知道了
4.自动最大化对比度/ 1声道伪色/ 4声道使用Alpha:这些是图像列表的上下文菜单中菜单项的镜像。请注意,在“查看器”菜单中显示,这些设置适用于所有图像。
5.十六进制显示:这将切换Visual Studio宽的“十六进制显示”设置,这也被内置的Watch窗口使用。在图像监视中,它确定像素值的显示方式(图1,H)。
6.复制像素地址:将当前像素的内存地址复制到剪贴板。这可以用于记录笔记,将地址粘贴到Visual Studio Debugger的内存视图窗口或创建数据断点。
至此,Iamge Watch的基本操作说明就结束了,以后如果发现了其他好用的功能,会再来补充,以上翻译大部分是google翻译后自己修改的,可能会有些语句不通之处,但是并不影响理解,请见谅。