平台:Win10 x64+vs2015专业版+opencv-3.4.1-vc14_vc15

一直觉得OpenCV在调试方面不如MATLAB灵活方便,没成想OpenCV官方早就推出了一个叫Image Watch的插件可用于调试时显示和监视图像变量了。这里简单记录一下插件的下载安装与基本使用方法

Image Watch是Microsoft Visual Studio的一个插件,它允许我们在调试应用程序时可视化内存中的图像(例如,cv::Mat或IplImage_对象)。 这有助于跟踪错误,或者帮助我们了解特定的代码片段正在做什么(例如本文的示例代码中进行的变换)。

安装该插件需要如下条件

  • 安装了Update 1的Visual Studio 2012 Professional(或更高版本)
  • 在Windows机器上完成了OpenCV的安装
  • 能够在Visual Studio中创建和构建OpenCV项目

下载安装Image Watch
Image Watch下载地址:https://marketplace.visualstudio.com/items?itemName=VisualCPPTeam.ImageWatch
Image Watch安装方式:双击下载的ImageWatch.vsix文件,即可完成安装。

使用Image Watch
Image Watch适用于任何使用OpenCV图像对象的现有项目(例如,cv::Mat)。 下面给出一个简单的示例,加载一幅彩色图像,并将其转换为反色。 所使用的开发环境为Windows10,Visual Studio 2015。首先创建一个控制台应用程序项目,然后在下面插入源代码。别忘了将目标平台改为debug x64。

确保使用的是debug模式,并且在适当的位置设置的断点,在本例中在第二个for循环的位置以及第一个imshow的位置分别设置断点。调试运行至断点时即可激活image watch插件。如果没有显示Image Watch窗口,可以使用如下方法调用:菜单栏->视图->其他窗口->image watch,调出该插件。

注意,vs IDE内置的“本地”窗口将仅显示文本。 而Image Watch插件就像是另一个Locals窗口,但内置了一个图像查看器。与Visual Studio的Locals窗口一样,Image Watch可以停靠到Visual Studio IDE。 此外,Visual Studio将记住我们是否打开了Image Watch,以及它在调试会话之间的位置。 也就是说只需执行此操作,下次开始调试时,Image Watch将返回之前我们离开的位置。

Image Watch窗口左上角的单选按钮(Locals / Watch)选择下面的图像列表中显示的内容:Locals列出当前作用域中的所有OpenCV图像对象(此列表自动填充)。 Watch显示已固定用于连续检查的图像表达式。 图像列表显示基本信息,例如宽度,高度,通道数,以及缩略图(如果有)。
如果图像具有缩略图,则左键单击该图像将在右侧的图像查看器中选择它以进行详细查看。 查看器允许平移(拖动鼠标)和缩放(鼠标滚轮)。 它还可以显示当前鼠标位置的像素坐标和色彩分量值

在图像上使用滚轮操作实现缩放,放大到一定尺寸后将同时显示像素的BGR分量

右键菜单各项功能说明:
    Expand All/Collapse All: 展开/全部折叠,展开/折叠当前列表中的所有项目
    Expand New Items: 展开新项目,控制是否最初展开或折叠新列表项目
    Large Thumbnails: 大缩略图,在两个缩略图大小之间切换
    Auto Maximize Contrast: 自动最大化对比度,如果未选中,则使用标准颜色映射规则将像素值映射到显示颜色。如果选中,则当前像素数据的值范围将映射到整个显示颜色范围(如Matlab的imagesc)。注意:此设置适用于所有图像。
    1-Channel Pseudo Color: 1通道伪彩色,如果未选中,则单通道图像显示为灰度。如果选中,则使用伪彩色图(如Matlab的colormap jet)。注意:此设置适用于所有图像。
    4-Channel Ignore Alpha: 4通道忽略Alpha,如果未选中,则四通道图像中的最后一个通道被解释为alpha。如果选中,则忽略最后一个通道。
    Add to Watch: 添加到监视,将所选项目添加到监视列表
    Add Address to Watch: 添加要监视的地址,将所选项的地址添加到监视列表。这对于在不同堆栈帧上观看图像很有用。
    Dump to File: 转储到文件,将所选图像转储到文件。支持的格式为PNG,JPG和BIN(Image Watch内部无损文件格式)。BIN文件仅适用于Image Watch;可以使用@file运算符将它们加载到监视列表中。

OpenCV-可视化界面Image Watch的更多相关文章

  1. awt可视化界面上传数据到mysql,jsp通过jdbc方式查询数据库,并将结果打印在网页上

    今天尝试写一个小demo实现下之前看过的代码,目的了解不同文件的数据访问,掌握如何获取前台数据,如何将数据库的数据在前端页面展示. awt可视化界面可已实现提交数据到数据库,也可查询数据在控制台打印. ...

  2. GDB-Dashboard-GDB可视化界面

    项目地址 https://github.com/cyrus-and/gdb-dashboard 项目介绍 gdb-dashboard是一个gdb的可视化界面,可以通过web或者终端来现实可视化信息,支 ...

  3. Ubuntu mysql安装,还有可视化界面

    安装mysql sudo apt-get install mysql-server sudo apt-get install mysql-client sudo apt-get install lib ...

  4. Solr学习笔记---部署Solr到Tomcat上,可视化界面的介绍和使用,Solr的基本内容介绍,SolrJ的使用

    学习Solr前需要有Lucene的基础 Lucene的一些简单用法:https://www.cnblogs.com/dddyyy/p/9842760.html 1.部署Solr到Tomcat(Wind ...

  5. docker swarm 集群及可视化界面的安装及配置

    docker swarm 集群及可视化界面的安装及配置 2016-12-14 16:08:46 标签:swarm consul registrator 原创作品,允许转载,转载时请务必以超链接形式标明 ...

  6. 可视化界面:ElasticSearch Head,最方便的是直接下载谷歌浏览器扩展程序

    可视化界面:ElasticSearch Head,最方便的是直接下载谷歌浏览器扩展程序

  7. 关于Eclipse上使用可视化设计界面(Java EE 使用可视化界面设计)

    Eclipse下可视化界面实现——WindowBulider安装 第一步: WindowBuilder官方下载安装说明地址:http://www.eclipse.org/windowbuilder/d ...

  8. CentOS7安装GNOME可视化界面和如何配置IP地址

    本人在虚拟机安装 CentOS7 1,检查一下我们已经安装的软件以及可以安装的软件,用命令 yum grouplist 2,然后安装我们需要的图形界面软件,GNOME(GNOME Desktop) 这 ...

  9. SwaggerUI+SpringMVC——构建RestFul API的可视化界面

    今天给大家介绍一款工具,这个工具眼下可预见的优点是:自己主动维护最新的接口文档. 我们都知道,接口文档是非常重要的,可是随着代码的不断更新,文档却非常难持续跟着更新,今天要介绍的工具,完美的攻克了这个 ...

  10. mininet实验 可视化界面形成拓扑

    参考博客一 参考博客二 实验目的 mininet中内置了一个mininet可视化工具:miniedit.miniedit在mininet/mininet/examples目录下提供miniedit.p ...

随机推荐

  1. docker容器内存占用 之 系统cache,docker下java的内存该如何配置

    缘起: 监控(docker stats)显示容器内存被用完了,进入容器瞅了瞅,没有发现使用内存多的进程,使用awk等工具把容器所有进程使用的内存加起来看看,距离用完还远了去了,何故? 分析: 该不会d ...

  2. Hive环境的安装

    hive是什么:hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能(HQL) hive有什么用 1.通过类SQL语句快速实现简单的Map ...

  3. Pycharm 设置上下左右快捷键

    Pycharm的版本 Note:英文版的Pycharm,使用中文版的对照即可. 1. 打开Pycharm软件→File→Settings 2.Keymap→Editor Actions→搜索(up)→ ...

  4. shell循环(两个日期比较,改变某个特定日期来改变当前比较值)

    需求:从当前时间前6个月开始执行某个语句,直到执行到当前日期的前一天.  shell脚本如下: #!/bin/bash yesterday=`date -d -1day +%Y%m%d` sixmon ...

  5. 实验五:Xen环境下多虚拟机的桥接配置

    实验名称: Xen环境下多虚拟机的桥接配置 实验环境: 这里我们首先需要有一台已经安装好的虚拟机机,能够正常运行,且网卡正常,如下图: 实验需求: 进行虚拟机的复制,并添加新的网桥配置,然后将两台虚拟 ...

  6. web.xml的加载过程配置详解

      一:web.xml加载过程 简单说一下,web.xml的加载过程.当我们启动一个WEB项目容器时,容器包括(JBoss,Tomcat等).首先会去读取web.xml配置文件里的配置,当这一步骤没有 ...

  7. 深入理解volatile

    volatile知识点 --------------------------------------------------------------------------- 1.volatile关键 ...

  8. 3.1链表----链表(Linked List)入门

    在分析链表之前,我们先来对之前的动态数组.栈.队列总结一下: (1)底层依托于静态数组 (2)依靠resize解决固定容量问题 (3)是一种假的的动态数据结构 1.什么是链表 可以从以下两个部分来理解 ...

  9. git 提交小备注

    总结: ·  git add -A  提交所有变化 ·  git add -u  提交被修改(modified)和被删除(deleted)文件,不包括新文件(new) ·  git add .  提交 ...

  10. oracle查看被锁的表和解锁

    --以下几个为相关表SELECT * FROM v$lock;SELECT * FROM v$sqlarea;SELECT * FROM v$session;SELECT * FROM v$proce ...