安装
下载适合vs2017最新版本的Image Watch(ImageWatch.vsix),下载地址
安装ImageWatch,双击ImageWatch.vsix进行安装即可;
使用
打开一个OpenCV工程,在Debug下设置断点,通过view -> other windows -> Image Watch打开Image Watch窗口,即可显示cv::Mat图像
Image Watch可进行的操作包括:
放大、缩小图像;
将图像保存到指定的目录;
显示图像大小、通道数;
拖拽图像;
可以查看指定坐标的像素值(按照在内存中的顺序显示);
Link Views:所有相同尺寸的图像共享一个视图;
像素值以十六进制显示还是十进制显示;
在Watch窗口可对图像进行的操作包括(Image Watch包括Locals和Watch两个窗口):
@band(img, number):从img中提取通道号 (UINT32)。注意:该操作符保留输入通道类型。
@thresh(img, threshold): img中的阈值像素:如果>= threshold (FLOAT32)则返回1,否则返回0
@clamp(img, min, max): 将img中的像素值夹在min (FLOAT32)和max (FLOAT32)之间。
@abs(img): 取img中像素的绝对值
@scale(img, factor): 在img中按因素缩放像素值(FLOAT32)
@norm8(img): 将img中的像素值缩放为1/255
@norm16(img):缩放img中的像素值1/65535
@fliph(img), @flipv(img), @flipd(img): 分别水平、垂直和对角翻转img(矩阵转置)。注意:该操作符保留输入通道类型。
@rot90(img), @rot180(img), @rot270(img):分别顺时针旋转img 90度、180度、270度。注意:该操作符保留输入通道类型。
@diff(img0, img1): 返回像素差异:img0 - img1
@file(path): 从路径(字符串)加载图像。例如:@file(“d: \ temp \ debug.png”)
@mem(address, type, channels, width, height, stride): 将原始内存解释为像素,从地址(UINT64)开始,通道类型(见像素格式),通道数量(UINT32),宽度(UINT32),高度(UINT32)和stride (UINT32)。例如:@mem (myimg。数据,UINT8, 1, 320, 240, 320)
Image Watch的官网介绍
图2 (L)下图显示了如何将imgO的绿色通道阈值设置为120。
@thresh(@band(imag,1),120)