如何在Visual Studio 2019 Image Watch 里添加需要查看变量的图像

\quad 本文示例使用的环境为:Windows10系统 + Visual Studio 2019 + OpenCV4.4 + Image Watch 2019 。
\quad Image Watch在Visual Studio上的安装方法不在赘述了,网上有很多教程。这里打算记录一下自己在调试中使用Visual Studio 2019 中的Image Watch添加需要查看非默认变量的图像。

\quad 在使用OpenCV的调试过程中,Image Watch是一个协助调试的利器,经常在Visual Studio中使用Image Watch查看图像。其实Image Watch的功能非常强大,不仅仅可以显示Opencv 图像数据,也可以显示其他类型的图像。 例如有一块内存保存的是图像数据,也可以将其显示出来[1]。
\quad 在安装Image Watch后,通过在调试过程中断点中断,然后选择:视图 -> 其他窗口 -> Image Watch 。只要这样操作一次之后,停止调试时 Image Watch 会自动消失,下次调试过程中会自动出现。默认状态如下图(1)所示 :
如何在Visual Studio 2019 Image Watch 里添加需要查看变量的图像_第1张图片
\quad \quad \quad \quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad 图(1)
\quad 在运行程序读取图像之后,Image Watch默认只显示局部的图像,如图(2)中的Locals,而Watch里是没有任何东西的。而在开发调试中,往往不单单只看单个函数的局部图像,还希望可以查看一些全局Mat变量所表示的图像,而这些默认是没有显示的。
如何在Visual Studio 2019 Image Watch 里添加需要查看变量的图像_第2张图片 \quad \quad \quad \quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad 图(2)
\quad 自己之前为这个苦恼了很久,一直以为mage Watch只能查看局部Mat图像。但是其实这是自己的误解,Image Watch不仅仅可以显示Opencv 局部图像数据,也可以显示全局图像数据,甚至是其他类型的内存图像。 例如有一块内存保存的是图像数据,也可以将其显示出来[1]。在Image Watch界面上还有一个Watch功能,这个Watch的窗口可以通过自己输入想要查看的图像Mat类型来查看全局图像或者一块内存保存的是图像数据。
如何在Visual Studio 2019 Image Watch 里添加需要查看变量的图像_第3张图片
\quad \quad \quad \quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad 图(3)
\quad 例如,我往Watch中添加grayImg和srcImg这两个Mat类型图像,如下图(4)可知,grayImg和srcImg这两个Mat类型图像并非我说定义的局部的Mat图像,但通过自己添加到Watch里,一样是可以通过Image Watch进行图像的查看的。
如何在Visual Studio 2019 Image Watch 里添加需要查看变量的图像_第4张图片
\quad \quad \quad \quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad 图(4)
\quad 同时,从参考文献[1]中可以看到,作者直接在Image Watch中添加了内存的图像,Image Watch同样可以完整正确地显示。
如何在Visual Studio 2019 Image Watch 里添加需要查看变量的图像_第5张图片
\quad \quad \quad \quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad 参考文献[1]图(侵删)

参考文献:
[1] 图像处理必备软件之Image watch https://zhuanlan.zhihu.com/p/129373431

你可能感兴趣的:(Opencv,opencv,visual,studio,c++)