各大编译工具在调试的时候都可以实时查看变量的值,了解变量值的变动情况,在图像处理相关的程序调试中,是否也可以实时查看内存中图像变量的图形信息以及图像上指定区域或点位的数值变化情况呢?

在工业机器视觉领域应用广泛的Halcon中,提供了一个程序设计界面HDevelop,HDevelop中有一个图像窗口,可以很方便的观察到随着程序运行图形的变化情况;以及包含一个图像数据和控制数据的小窗口,可以监测到各个图形相关变量的缩略图和数据信息,非常直观方便。

Halcon主界面:

图像变量窗口:

在OpenCV中,也有一个小插件可以实现类似于Halcon的实时显示功能,不必为了查看运行过程图像而在代码中插入N个imshow函数了,这个插件就是Image Watch。

Image Watch是Microsoft Visual Studio(不是OpenCV小组)开发的一款用于内存中保存图像(例如:Mat)可视化的一款插件,适用于在程序调试过程中实时显示图像和Mat矩阵中的内容,跟Matlab和Halcon很像,使用起来也很方便。

Image Watch的下载和安装

下载地址:Visual Studio插件Image Watch for OpenCV

下载完之后双击完成安装,或者拖动Image Watch到VS2012安装路径下IDE下的VSIXInstaller.exe文件上释放:

安装之后重新启动VS生效。新建一个OpenCV工程,在Debug模式下设置断点,通过依次选择view->other windows->Image Watch,打开Image Wathc窗口,即可实时显示内存中的Mat图像。

Image Watch的基本操作包括:


1. 放大、缩小图像:

鼠标放到图像上之后,通过滚轮可以调节图像缩放,右上角显示的数字是当前图像的缩放比例。

2. 将图像保存到指定的目录:

在左侧小图标上点击右键,选择“Dump to File”可以保存过程图像到本地硬盘。

3. 显示图像大小、通道数:

在Image Watch左侧小图标的右侧,显示的是图像大小,通道数和数据类型信息,如下图区域D所示:

4. 拖拽图像

图像被放大后,通过按下左键可以拖动图像移动。

5. 可以查看指定坐标的像素值(按照在内存中的顺序显示)

鼠标放在图像上,在图像上侧的标题栏里可以显示当前鼠标点坐在的位置,以及当前点的像素值;

进一步放大图像,图像的像素值会直接在图像像素点的位置上显示:

最新文章

  1. 【Network】TCPDUMP 详解
  2. GetLastError()函数返回值及含义
  3. jQuery 常用方法经典总结
  4. vi 常用命令行
  5. php图片等比例缩放
  6. S2SH商用后台权限系统第二讲
  7. AndroidStaggeredGrid
  8. SSH config
  9. bzoj1036 zjoi2008 树的统计 count
  10. Python urllib和urllib2模块学习(二)
  11. sql server 2000/2005递归
  12. MySQL源码安装(centos)
  13. Jmeter自动化测试工具的简单使用--HTTP测试
  14. 有关CUBLAS中的矩阵乘法函数
  15. (2-2)SpringCloud-服务注册到Eureka Server集群并消费
  16. 从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之三 || Swagger的使用 3.1
  17. STL学习笔记:空间配置器allocator
  18. Redis常用操作--------SortedSet(有序集合)
  19. 字符串问题简述与两个基本问题的Java实现——判断二叉树拓扑结构关系与变形词
  20. P3130 [USACO15DEC]计数haybalesCounting Haybales

热门文章

  1. CSU1656: Paper of FlyBrother(后缀数组)
  2. Visual Studio中你所不知道的智能感知
  3. java 封装解析 Json数据。
  4. signature.html
  5. gerrit docker
  6. 《JavaScript & jQuery交互式Web前端开发》之JavaScript基础指令
  7. 怎样把ul li 前面的点去掉
  8. Navigation Pane不能设置显示标题
  9. android应用开发 button显示两行文本
  10. springMVC出现HTTP Status 405 - Request method 'GET' not supported错误的解决方法