有vs2012还能下vs2019吗_OpenCV可视化界面插件Image Watch(支持VS2012-VS2019)

时间:2023-09-16 17:10

OpenCV官方推出了一个叫Image Watch的插件可用于调试时显示和监视图像变量。

官方帮助文档:https://www.mareenoire.info/ImageWatchHelp/ImageWatchHelp.htm

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

下载安装Image Watch

VS2012-VS2015https://www.mareenoire.info/items?itemName=VisualCPPTeam.ImageWatch

VS2017

https://www.mareenoire.info/items?itemName=VisualCPPTeam.ImageWatch2017

VS2019

https://www.mareenoire.info/items?itemName=VisualCPPTeam.ImageWatch2019

使用Image Watch Image Watch适用于任何使用OpenCV图像对象的现有项目(例如,cv::Mat)。?

确保使用的是debug模式,并且在适当的位置设置的断点,调试运行至断点时即可激活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将返回之前我们离开的位置。

?

---

老方法

https://www.mareenoire.info/2017/10/21/Install-ImageWatch-On-VS2017/

工具 》选项 》环境 》选项卡和窗口 》预览选项卡

取消打勾即可

?

这设计真是难受~

Git 代码自动注释工具源码地址

?

VS2010、VS2012、VS2013的代码自动注释插件。安装该插件后,可以在VS的菜单中显示“注释”主菜单,可以给类、函数、成员添加标准的注释,与Doxygen配合使用,可以直接生成项目的注释文档。

【插件下载】

http://www.mareenoire.info/detail/aoshilang2249/8497739

高版本的VS,可以下载源码后,自行编译使用。

【插件安装】

下载后,直接双击安装

【安装效果】

【使用效果】

实际使用时,将光标放在需要添加注释的类名、函数名、变量名上,再选择对应的菜单即可以添加对应的注释了。

//====================================CritSec===================================

/// @brief <对该类进行简单描述>

///

/// <对该类进行详细描述>

//================================================================================

class CritSec

{

private:

CRITICAL_SECTION m_criticalSection; ///< <成员变量说明>

public:

CritSec()

{

InitializeCriticalSection(&m_criticalSection);

}

~CritSec()

{

DeleteCriticalSection(&m_criticalSection);

}

//=====================================Lock()=====================================

/// @brief <对函数进行概括说明>

///

/// <对函数进行详细说明>

///

///

/// @return <返回值说明,可以配合使用DocGenList或DocGenTable>

///

/// @remark <函数特别说明>

///

/// @code

/// <在此添加示例代码>

/// @endcode

///

/// @sa <可以参考的类或函数,用空格分隔,函数名称后必须加()>

//================================================================================

void Lock()

{

EnterCriticalSection(&m_criticalSection);

}

//====================================Unlock()====================================

// <对函数进行描述说明>

//

//

// @return <返回值说明>

//

// @remark <函数特别说明>

//

// 修改历史:1

// 1.修改人:Administrator 2015-03-13

// 修改问题:<简要说明所修改问题>

//================================================================================

void Unlock()

{

// 修改说明:<详细说明修改原因及内容>

// 修改人: Administrator 2015-03-13

LeaveCriticalSection(&m_criticalSection);

}

};

?

?

?

Copyright© 黑海资讯

鄂ICP备2023014923号