热门标签 | 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

 


推荐阅读
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 解决JAX-WS动态客户端工厂弃用问题并迁移到XFire
    在处理Java项目中的JAR包冲突时,我们遇到了JaxWsDynamicClientFactory被弃用的问题,并成功将其迁移到org.codehaus.xfire.client。本文详细介绍了这一过程及解决方案。 ... [详细]
  • 使用GDI的一些AIP函数我们可以轻易的绘制出简 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 深入理解Shell脚本编程
    本文详细介绍了Shell脚本编程的基础概念、语法结构及其在操作系统中的应用。通过具体的示例代码,帮助读者掌握如何编写和执行Shell脚本。 ... [详细]
  • 本文介绍了如何通过配置 Android Studio 和 Gradle 来显著提高构建性能,涵盖内存分配优化、并行构建和性能分析等实用技巧。 ... [详细]
  • 本文详细介绍如何在VSCode中配置自定义代码片段,使其具备与IDEA相似的代码生成快捷键功能。通过具体的Java和HTML代码片段示例,展示配置步骤及效果。 ... [详细]
  • 实体映射最强工具类:MapStruct真香 ... [详细]
  • 深入解析 Spring Security 用户认证机制
    本文将详细介绍 Spring Security 中用户登录认证的核心流程,重点分析 AbstractAuthenticationProcessingFilter 和 AuthenticationManager 的工作原理。通过理解这些组件的实现,读者可以更好地掌握 Spring Security 的认证机制。 ... [详细]
  • 本文探讨了在Java中实现系统托盘最小化的两种方法:使用SWT库和JDK6自带的功能。通过这两种方式,开发者可以创建跨平台的应用程序,使窗口能够最小化到系统托盘,并提供丰富的交互功能。 ... [详细]
  • 微软Exchange服务器遭遇2022年版“千年虫”漏洞
    微软Exchange服务器在新年伊始遭遇了一个类似于‘千年虫’的日期处理漏洞,导致邮件传输受阻。该问题主要影响配置了FIP-FS恶意软件引擎的Exchange 2016和2019版本。 ... [详细]
  • 优化局域网SSH连接延迟问题的解决方案
    本文介绍了解决局域网内SSH连接到服务器时出现长时间等待问题的方法。通过调整配置和优化网络设置,可以显著缩短SSH连接的时间。 ... [详细]
  • 本文介绍如何在Linux Mint系统上搭建Rust开发环境,包括安装IntelliJ IDEA、Rust工具链及必要的插件。通过详细步骤,帮助开发者快速上手。 ... [详细]
  • 作为一名专业的Web前端工程师,掌握HTML和CSS的命名规范是至关重要的。良好的命名习惯不仅有助于提高代码的可读性和维护性,还能促进团队协作。本文将详细介绍Web前端开发中常用的HTML和CSS命名规范,并提供实用的建议。 ... [详细]
  • 配置Windows操作系统以确保DAW(数字音频工作站)硬件和软件的高效运行可能是一个复杂且令人沮丧的过程。本文提供了一系列专业建议,帮助你优化Windows系统,确保录音和音频处理的流畅性。 ... [详细]
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社区 版权所有