热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

VS2013中ImageWatch插件的使用(OpenCV)

之前在vs2010中写OpenCV程序时经常用NativeViewer,安装此插件后,在调试代码时,对于cv::Mat变量,

         之前在vs2010中写OpenCV程序时经常用NativeViewer,安装此插件后,在调试代码时,对于cv::Mat变量,CV_TYPE类型为CV_8UC1或CV_8UC3,可以随时查看显示结果。其操作步骤为:

1.        从http://sourceforge.net/p/nativeviewer/wiki/QuickStartGuide_VS2010/下载最新版本NativeViewer,并按照介绍的步骤在vs2010中进行安装;

2.        打开一个工程,在Debug下设置断点,当光标定位到cv::Mat变量时,CV_TYPE类型必须为CV_8UC1或CV_8UC3中的一种,其它类型不行,此时按住Ctrl键,然后将光标定位到此变量时,将会以图像形式将内容显示出来。

最近用vs2013,发现NativeViewer不支持,它只支持vs2010,发现有一个比NativeViewer更强大的插件Image Watch,它可以支持vs2012、vs2013及vs2015。其操作步骤为:

1.        从https://visualstudiogallery.msdn.microsoft.com/e682d542-7ef3-402c-b857-bbfba714f78d下载最新版本Image Watch(ImageWatch.vsix);

2.        安装ImageWatch,双击ImageWatch.vsix进行安装即可;

3.        打开一个OpenCV工程,在Debug下设置断点,通过view -> other windows -> Image Watch打开Image Watch窗口,即可显示cv::Mat图像。

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 );

Image Watch的更详细介绍可参考:http://research.microsoft.com/en-us/um/redmond/groups/ivm/imagewatchhelp/imagewatchhelp.htm

 


推荐阅读
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文介绍如何在Linux Mint系统上搭建Rust开发环境,包括安装IntelliJ IDEA、Rust工具链及必要的插件。通过详细步骤,帮助开发者快速上手。 ... [详细]
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 深入了解 Windows 窗体中的 SplitContainer 控件
    SplitContainer 控件是 Windows 窗体中的一种复合控件,由两个可调整大小的面板和一个可移动的拆分条组成。本文将详细介绍其功能、属性以及如何通过编程方式创建复杂的用户界面。 ... [详细]
  • 本文详细介绍了如何在 Windows 环境下使用 node-gyp 工具进行 Node.js 本地扩展的编译和配置,涵盖从环境搭建到代码实现的全过程。 ... [详细]
  • QUIC协议:快速UDP互联网连接
    QUIC(Quick UDP Internet Connections)是谷歌开发的一种旨在提高网络性能和安全性的传输层协议。它基于UDP,并结合了TLS级别的安全性,提供了更高效、更可靠的互联网通信方式。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 本文深入探讨了 Java 中的 Serializable 接口,解释了其实现机制、用途及注意事项,帮助开发者更好地理解和使用序列化功能。 ... [详细]
  • 尽管某些细分市场如WAN优化表现不佳,但全球运营商路由器和交换机市场持续增长。根据最新研究,该市场预计在2023年达到202亿美元的规模。 ... [详细]
  • 创建项目:Visual Studio Online 入门指南
    本文介绍如何使用微软的 Visual Studio Online(VSO)创建和管理开发项目。作为一款基于云计算的开发平台,VSO 提供了丰富的工具和服务,简化了项目的配置和部署流程。 ... [详细]
  • 本文探讨了如何通过预处理器开关选择不同的类实现,并解决在特定情况下遇到的链接器错误。 ... [详细]
  • 本文详细介绍了在 Windows 7 系统中配置 Nginx 1.10.3 和 PHP 7.1.1 NTS 的步骤,包括修改 PHP 配置文件、处理依赖项以及创建批处理脚本启动和停止服务。重点解释了如何解决常见的运行时错误。 ... [详细]
author-avatar
lp-阳光切割了记忆的角度
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有