Visual Studio中Image Watch的使用

怎么发现Image watch的?

在开始这篇博文之前,我首先要感谢一下我的一个师兄,祁磊。师兄比我大一届,我们是同一个导师,考上了南京大学的计算机博士,在南大读博,狂热机器学习。
研究生阶段很高兴能够认识这么一位师兄,跟他交流的过程中,我学到了很多东西,不仅是专业方向还是非专业方向。师兄是个特别有思想,特别有主见的人,不随波逐流,不人云亦云,其实之前已经收到大公司的Offer,只是他想做自己喜欢做的事情,就去了南大读博,虽然学习OpenCV快一年了,但是一直没用过Image Watch,Image Watch这个工具就是师兄告诉我的。
这里我还想补充一点:无论做学术,做工程,异或是做其他方面,一定要多于人交流,千万不要封闭自己,与别人交流的过程中,不仅锻炼了自己的交流能力,还能够通过别人学到很多东西,最重要的是,还能够交到很多志同道合的朋友!这一点非常非常重要。

Imag watch的简介

Image Watch是一个VS插件,能够让你在调试一个OpenCV程序的时候,看到内存中的图像,这对跟踪bug或者理解一段代码非常有帮助。

(原文:Image Watch is a plug-in for Microsoft Visual Studio that lets you to visualize in-memory images (cv::Mat or IplImage_ objects, for example) while debugging an application. This can be helpful for tracking down bugs, or for simply understanding what a given piece of code is doing.
from:《The OpenCV Tutorials》)

注:关于开源软件,一定要多看其文档,OpenCV的文档就做的非常好,没事的时候多读读,对自己是非常有好处的,锻炼英文的同时,也可以学到很多专业知识。
下载链接

使用示例

非常简单的一个程序,对一幅图片进行直方图均衡化:
int main()
{
Mat srcImage = imread("D:/Image/Gray/Beauty.jpg", -1);
Mat dstImage;
equalizeHist(srcImage, dstImage);
return 0;
}

F5进入调式模式,选择菜单View->Other Windows->Image Watch,就会出现下面的调式界面。

Visual Studio中Image Watch的使用_第1张图片
注意:不能在Release版本下调试,是显示不出图像的

Visual Studio中Image Watch的使用_第2张图片

Image Watch左上角有两个单选按钮Locals和Watch,分别对应两种模式 :Locals模式和Watch模式,与VS内置的Locals模式和Watch模式一样
Locals模式显示当前栈中所有的与变量,Watch模式显示用户手动添加的变量

当程序执行到最后一句的时候,看一下Image Watch窗口

srcImage和dstImage都显示出来了,鼠标单击左边的图像列表,就会在右边的窗口处显示大图。
当鼠标在右边图像上移动的时候,图像的上面,会显示鼠标所在的位置和该点的像素值。
Visual Studio中Image Watch的使用_第3张图片

下面切换到Watch模式:

手动添加变量,如添加一个dstImage变量,显示如下
Visual Studio中Image Watch的使用_第4张图片
上面就是Image Watch的最简单的使用方法。读者如果发现更多Image Watch的高级功能,可以留言,一起学习哦

你可能感兴趣的:(opencv,VS2013)