Visual Studio中NativeViewer and Image Watch插件的使用
2016-07-16 20:30
267 查看
一、NativeViewer
在vs2010中写OpenCV程序时可以使用NativeViewer插件,在调试代码时,对于cv::Mat变量,CV_TYPE类型为CV_8UC1或CV_8UC3,可以随时查看显示结果。
其操作步骤为:
1、插件的主页是:http://sourceforge.net/projects/nativeviewer/,下载文件名NativeViewer_VS2010_v1.0.1.vsix,点击下载。下载下来,然后双击就可安装,安装的时候关闭所有打开的vs工程。
(另外一个网站:http://sourceforge.net/p/nativeviewer/wiki/QuickStartGuide_VS2010/ 也可下载最新版本NativeViewer,并按照介绍的步骤在vs2010中进行安装)
2、以管理员身份运行vs2010。在打开的vs菜单中找到Tools-> Options ,单击打开设置对话框,在选项对话框中找到NativeViewer,然后点击Integration ,如果还没有融合的话,先check,然后apply就好了。
3、打开一个含有Mat数据的工程,在Debug下设置断点,当光标定位到cv::Mat变量时,CV_TYPE类型必须为CV_8UC1或CV_8UC3中的一种,其它类型不行,此时按住Ctrl键,然后将光标定位到此变量时,将会以图像形式将内容显示出来。
[cpp] view
plain copy
print?
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
using namespace cv;
using namespace std;
void main()
{
Mat srcImage = imread("pic.jpg",2|4);
Mat grayImage;
cvtColor(srcImage,grayImage,CV_BGR2GRAY);
imshow("show",srcImage);
waitKey(1000);
}
4、其他的设置还可以在选项里面调,自己试试吧。
二、ImageWatch
Image Watch是一个比NativeViewer更强大的插件,它可以支持vs2012、vs2013及vs2015。发现NativeViewer不支持vs2013,它只支持vs2010。Image
Watch能够让你在调试一个OpenCV程序的时候,看到内存中的图像,这对跟踪bug或者理解代码非常有帮助。
其操作步骤为:
1、从https://visualstudiogallery.msdn.microsoft.com/e682d542-7ef3-402c-b857-bbfba714f78d下载最新版本ImageWatch(ImageWatch.vsix);
2、安装ImageWatch,双击ImageWatch.vsix进行安装即可;
3、打开一个OpenCV工程,在Debug下设置断点,通过view->
other windows -> Image Watch打开Image Watch窗口,即可显示cv::Mat图像。
Image Watch可进行的操作包括:
a.放大、缩小图像;
b.将图像保存到指定的目录;
c.显示图像大小、通道数;
d.拖拽图像;
e.可以查看指定坐标的像素值(按照在内存中的顺序显示);
f. Link Views:所有相同尺寸的图像共享一个视图;
g.像素值以十六进制显示还是十进制显示;
h.在Watch窗口可对图像进行的操作包括(ImageWatch包括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 );
Image Watch的更详细介绍可参考:http://research.microsoft.com/en-us/um/redmond/groups/ivm/imagewatchhelp/imagewatchhelp.htm
在vs2010中写OpenCV程序时可以使用NativeViewer插件,在调试代码时,对于cv::Mat变量,CV_TYPE类型为CV_8UC1或CV_8UC3,可以随时查看显示结果。
其操作步骤为:
1、插件的主页是:http://sourceforge.net/projects/nativeviewer/,下载文件名NativeViewer_VS2010_v1.0.1.vsix,点击下载。下载下来,然后双击就可安装,安装的时候关闭所有打开的vs工程。
(另外一个网站:http://sourceforge.net/p/nativeviewer/wiki/QuickStartGuide_VS2010/ 也可下载最新版本NativeViewer,并按照介绍的步骤在vs2010中进行安装)
2、以管理员身份运行vs2010。在打开的vs菜单中找到Tools-> Options ,单击打开设置对话框,在选项对话框中找到NativeViewer,然后点击Integration ,如果还没有融合的话,先check,然后apply就好了。
3、打开一个含有Mat数据的工程,在Debug下设置断点,当光标定位到cv::Mat变量时,CV_TYPE类型必须为CV_8UC1或CV_8UC3中的一种,其它类型不行,此时按住Ctrl键,然后将光标定位到此变量时,将会以图像形式将内容显示出来。
[cpp] view
plain copy
print?
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
using namespace cv;
using namespace std;
void main()
{
Mat srcImage = imread("pic.jpg",2|4);
Mat grayImage;
cvtColor(srcImage,grayImage,CV_BGR2GRAY);
imshow("show",srcImage);
waitKey(1000);
}
4、其他的设置还可以在选项里面调,自己试试吧。
二、ImageWatch
Image Watch是一个比NativeViewer更强大的插件,它可以支持vs2012、vs2013及vs2015。发现NativeViewer不支持vs2013,它只支持vs2010。Image
Watch能够让你在调试一个OpenCV程序的时候,看到内存中的图像,这对跟踪bug或者理解代码非常有帮助。
其操作步骤为:
1、从https://visualstudiogallery.msdn.microsoft.com/e682d542-7ef3-402c-b857-bbfba714f78d下载最新版本ImageWatch(ImageWatch.vsix);
2、安装ImageWatch,双击ImageWatch.vsix进行安装即可;
3、打开一个OpenCV工程,在Debug下设置断点,通过view->
other windows -> Image Watch打开Image Watch窗口,即可显示cv::Mat图像。
Image Watch可进行的操作包括:
a.放大、缩小图像;
b.将图像保存到指定的目录;
c.显示图像大小、通道数;
d.拖拽图像;
e.可以查看指定坐标的像素值(按照在内存中的顺序显示);
f. Link Views:所有相同尺寸的图像共享一个视图;
g.像素值以十六进制显示还是十进制显示;
h.在Watch窗口可对图像进行的操作包括(ImageWatch包括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 );
Image Watch的更详细介绍可参考:http://research.microsoft.com/en-us/um/redmond/groups/ivm/imagewatchhelp/imagewatchhelp.htm
相关文章推荐
- SourceProvider.getJniDirectories
- 执行失败的任务 ': processDebugManifest'
- 如何安装SQL Server 2008 Management Studio Express
- 获取免费的Camtasia Studio 2使用授权
- 如何使用Visual Studio 2010在数据库中生成随机测试数据
- Visual Style中的shellstyle.dll文件修改方法
- Chrome Visual Studio 2005下的编译过程
- MSN Messenger 化繁为简(用 Visual Studio 2005 去掉 MSN 广告)
- Android Studio使用教程(六):Gradle多渠道打包
- Visual C++中Tab View的多种实现方法
- zend studio 快捷键收集
- Visual Studio快速开发以及Visual Studio 2010新功能介绍
- C#中几个未知的Visual Studio编码技巧分享
- 微软 Visual Studio 2010官方下载地址给大家
- Android Studio快速创建常用工具类的插件Utils
- AAPT err(Facade for): libpng error: Not a PNG file 错误
- Android Studio 性能优化常用工具
- Visual Studio 2017 版本 15.5.5
- Visual Studio 2017强制更新方法
- vs2010 solidworks2015 c# add-in模板 二次开发