Imagewatch插件:这个对于opencv的开发者非常重要,可以直接查看图像矩阵里的图片,便于调试,目前可以支持vs2012至vs2015,其他的VS版本不确定支不支持(网上很多人说不支持)。
本人使用的环境为Win10 + VS2015 + opencv3.2
具体使用方法:
1. 首先,设置断点;
2. 运行程序,程序运行到断点处,这是为了保证变量内有存储像素值;
3. 如下图所示,点击视图--》其他窗口--》Image Watch,可以调出调试窗口;
4. 如下图所示,即为Image Watch的图片调试窗口。
Image Watch可进行的操作包括:
1. 放大、缩小图像;
2. 将图像保存到指定的目录;
3. 显示图像大小、通道数;
4. 拖拽图像;
5. 可以查看指定坐标的像素值(按照在内存中的顺序显示);
6. Link Views:所有相同尺寸的图像共享一个视图;
7. 像素值以十六进制显示还是十进制显示;
8. 在Watch窗口可对图像进行的操作包括(Image Watch包括Locals和Watch两个窗口):
(1)、提取指定通道图像:@band(img, number);
(2)、对指定图像进行阈值化:@thresh(img, threshold);
(3)、对图像像素值进行取绝对值操作:@abs(img);
(4)、对图像像素值进行缩放操作:@scale(img, factor);
(5)、通过1/255方式缩放像素值操作:@norm8(img);
(6)、沿y轴水平flip:@fliph(img);
(7)、沿x轴垂直flip:@flipv(img);
(8)、对图像进行矩阵转置操作:@flipd(img);
(9)、对图像进行顺时针90、180、270度操作:@rot90(img)、@rot180(img)、
@rot270(img);
(10)、计算两幅图像的像素差值:@diff(img0, img1);
(11)、载入图像:@file(path),如 @file(“d:\1.jpg”);
(12)、将指定的内存地址内容按照指定的图像格式显示出来:@mem(address, type,
channels, width, height, stride),如@mem(0x00000000003d1050,UINT8, 3, 256,
256, 768 );