IMAGE WATCH工具安装与学习
1、下载安装
从下载地址搜索IMAGE WATCH,即可下载自己所需要的IMAGE WATCH工具。
安装ImageWatch,双击ImageWatch.vsix进行安装即可;


2、使用示例
这里首先编写程序如下:
#include "stdafx.h"
#include <iostream> // std::cout
#include <opencv2/core/core.hpp> // cv::Mat
#include <opencv2/imgcodecs/imgcodecs.hpp> // cv::imread()
#include <opencv2/imgproc/imgproc.hpp> // cv::Canny()
using namespace std;
using namespace cv;
void help()
{
cout
<< "----------------------------------------------------" << endl
<< "This is a test program for the Image Watch Debugger " << endl
<< "plug-in for Visual Studio. The program loads an " << endl
<< "image from a file and runs the Canny edge detector. " << endl
<< "No output is displayed or written to disk."
<< endl
<< "Usage:" << endl
<< "image-watch-demo inputimage" << endl
<< "----------------------------------------------------" << endl
<< endl;
}
int main(int argc, char *argv[])
{
help();
if (argc != 2)
{
cout << "Wrong number of parameters" << endl;
return -1;
}
cout << "Loading input image: " << argv[1] << endl;
Mat input;
input = imread(argv[1], IMREAD_COLOR);
cout << "Detecting edges in input image" << endl;
Mat edges;
Canny(input, edges, 10, 100);
return 0;
}
程序编写完成后,需要在其后填夹命令参数,对argv赋值,操作如下
右键单击项目 - >属性 - >配置属性 - >调试,然后使用图像的位置设置字段命令参数

然后在Mat edges;添加断点。

点击F5开始进行调试,此时程序会运行到端点处停止。此时通过view -> other windows -> Image Watch打开Image Watch窗口,即可显示cv::Mat图像


这里图像就打开了,但是可以发现edges是invalid的,这是因为程序执行到这一步的时候就停止了,我们可以按F10单步运行就可以看到结果了。

滚动鼠标滚轮,可以看到原始图像中一个像素点有3个数值,即RGB数值。而canny算子中一个图像只有一个像素点。


3、一些其他功能的讲解
在image list窗口中有一个文本菜单(单击)鼠标右键激活。这个菜单里包含的项目有:
· Expand/Collapse All:展开或折叠当前列表中的所有条目
· Expand New Items:控制窗口条目默认显示状态是折叠还是展开
· Large Thumbnails:控制两种缩略图显示尺寸之间的切换
· Auto Maximize Contrast:如果没有选中,像素值在映射成颜色时将使用标准调色板规则;如果选中,当前像素值将会被映射成全彩色,注意,这一设置是适用于所有图像
• 1-Channel Pseudo Color:如果没有选中,单通道图像将会显示成灰度图像;如果选中之后,将会使用一个伪彩色调色板对图像进行着色,这一设置也是适用于所有图像的。
• 4-Channel Ignore Alpha:这一选项重要是针对四通道图像。如果选中,则四通道图像的最后一个通道将解释为alpha;如果未被选中,则随后一个通道的将会被忽略。
• Add to Watch:将选中的条目加入到watch窗口列表中。
• Add Address to Watch:将选中图像条目的地址加入到watch窗口列表中,当一个图像的存储跨越了不同的堆栈结构时,这一做法是非常有效的。
· Dump to File:把当前选中的图片存成一个文件,所支持的保存格式有PGN、JPG以及BIN格式(image watch的内部无损文件格式),BIN文件意味着只能用于image watch,可以使用@file operator来加载这些文件。
单击右键将会弹出该窗口中的快捷菜单(Figure 3):
· Zoom to Fit:自动设置适合当前窗口显示的缩放比例
· Zoom to Original Size:将缩放比例设置为1.0,即图片中的一个像素对应着显示屏上的一个像素点。
· Link Views:如果被选中,所有的具有相同尺寸的图像在显示时都会在想对应的位置同比例显示。比如说,在放大观察了一幅1024*768的图像的某一区域后,在图像列表中选择了另外一张具有相同尺寸的图像,则浏览器将会显示第二章图像相同位置区域的放大效果;相反,如果选择了一张640*480的图片,将会看到一个不同的区域,也就是这张图片是按照所有640*480的图片规格进行显示的。
· Auto Maximize Contrast/1-Channel PseudoColor/4-Channel Use Alpha:这是图像列表中快捷菜单相应部分的镜像菜单,功能与之前的快捷菜单功能相同,在这里进行的这些选项的设置也是使用与所有图像的。
· Hexadecimal Display:这个选项将会触发visual studio中的“HexadecimalDisplay”设置,这个设置在初始化构建image watch窗口的过程中生效。在image watch中这个选项将决定像素值将以什么样的进制显示。
· Copy Pixel Address:将当前像素值在内存中的地址信息复制到剪贴板上,这一点对于做记录非常有帮助。可以讲得到的地址粘贴到VS中内存调试器中,或者用来生成一个数据断点。
参考资料
Image Watch:在Visual Studio调试器中查看内存中的图像
opencv中image watch插件安装使用教程
IMAGE WATCH工具安装与学习的更多相关文章
- cocos2d-x 3.1 学习(一):工具安装与配置环境
初级学习cocos2d-x 3.1开发,学习开发过程记录到博客上面来,哪写的不正确请指点. 1.工具安装 cocos2d-x 3.1rc0 最新版本号,下载后解压.下载地址:http://www.co ...
- Linux (Ubuntu12.04) 下开发工具安装和使用
Linux (Ubuntu12.04) 下开发工具安装和使用 这里讲述的是关于在ubuntu12.04下面安装和使用各种IDE 开发环境和初步使用的知识.说一下背景:很多的开发基本都是在linux操作 ...
- 20165226 预备作业3 Linux安装及学习
20165226 预备作业3 Linux安装及学习 Linux安装 一.下载安装VirtualBox 1.首先在官网下载,点开基于VirtualBox虚拟机安装Ubuntu图文教程 找到版本进行下载安 ...
- 20165230 预备作业3 Linux安装及学习
20165230 预备作业3 Linux安装及学习 安装Linux操作系统 通过学习实践基于VirtualBox虚拟机安装Ubuntu图文教程,开始了虚拟机的安装,根据教程按着步骤一步一步的完成. 遇 ...
- HL7工具安装步骤
下载目录:http://gforge.hl7.org/gf/ 说明:在安装HL7V3学习工具之前,确保本机已安装IIS服务和Access数据库. 各种软件见附件. 1.下载安装步骤 RIM模型下载 ...
- 【freeradius2.x】 安装和学习
虚拟机中centos 安装和学习 radius2 版本是2.2.x 的使用等知识 安装 为了测试方面,yum安装 yum -y install freeradius* 配置文件的位置是 /etc/ra ...
- 20165325 预备作业3 Linux安装及学习
Linux安装及学习 一.VirtualBox和Ubuntu安装 问题一:虚拟机中Ubuntu的版本 在设置虚拟机的操作系统的版本时,我发现我的电脑只能设置32-bit的Ubuntu版本.教程上选用了 ...
- 20165206 预备作业3 Linux安装及学习
Linux的安装与学习 - 在自己笔记本上安装Linux操作系统 在安装虚拟机的过程中遇到了不少问题,但也都进行了尝试并得到了解决.首先是在安装VirtulBox的安装上,按照老师给的链接下载安装,不 ...
- 20165317 Linux安装及学习
Linux安装及学习 一.Linux的安装 我通过virtualbox和ubuntu官网下载了virtualbox5.2.6和ubuntu17.04版本. 在操作过程中,我基本是按照老师的步骤进行的, ...
随机推荐
- 实战ELK(6)使用logstash同步mysql数据到ElasticSearch
一.准备 1.mysql 我这里准备了个数据库mysqlEs,表User 结构如下 添加几条记录 2.创建elasticsearch索引 curl -XPUT 'localhost:9200/user ...
- python读取excel表
from xlrd import open_workbookimport re #创建一个用于读取sheet的生成器,依次生成每行数据,row_count 用于指定读取多少行, col_count 指 ...
- [leetcode]335. Self Crossing
You are given an array x of n positive numbers. You start at point (,) and moves x[] metres to the n ...
- 20165304《Java程序设计》第九周学习总结
教材学习内容总结 URL类 URL类是java.net包中的一个重要的类,URL的实例封装着一个统一资源定位符,使用URL创建对象的应用程序称作客户端程序. 一个URL对象通常包含最基本的三部分信息: ...
- This iPhone 6s is running iOS 11.3.1 (15E302), which may not be supported by this version of Xcode.
This iPhone 6s is running iOS 11.3.1 (15E302), which may not be supported by this version of Xcode.
- [java]给出一个字符串,将重复的字符去除,仅保留第一次出现的字符,且保持去重后的字符在原字符串中的顺序不变
- T-SQL中CTE表 with关键字
Select字句在逻辑上是SQL语句最后进行处理的最后一步,所以,以下查询会发生错误: SELECT YEAR(OrderDate) AS OrderYear, COUNT(DISTINCT Cust ...
- springboot @Value获取值为空,解决办法
在spring中,常常使用 @Value("${property}") 从application.properties中取值,需要注意两点 使用 @Value 的类不能使用 new ...
- 权限控制框架---shiro入门
1.shiro控制权限的两种思想:粗粒度url级别,细粒度方法级别 2.shiro执行流程简介 3.案例 3.1shiro控制用户登录实现,登录其实就是shiro中的认证. (1)配置web.xml( ...
- Lua中面向对象
一.Lua中类的简单实现: (1)版本——摘自 Cocos2.0中的: --Create an class. function class(classname, super) local superT ...