从事图像处理与计算机视觉的工作者有时需要查看跟踪opencv源码,了解函数调用关系;有时需要修改部分代码为自己所用。

在Visual Studio使用opencv库时,通过 “右键 ->查看定义” 只能看到函数声明,没法看到原代码,因为OpenCV将很多函数加入了函数库,并被编译成了dll。

通常解决方法:自己使用cmake生成OpenCV源代码工程的解决方案,在编译好的解决方案中,可以查看函数的定义,通过“右键 ->查看定义”转到相应的函数,编译整个opencv的解决方案有占用几个G的空间。

也有文档介绍使用自己编译的opencv库,利用.pdb 文件可以通过函数名直接跳转到函数定义中,尝试过,但没成功。

本文给大家介绍一个很好的源码查看跟踪工具:Source Insight,该工具支持多种语言,而且是轻量级的,上百MB的源码建的工程只有几十MB。Source Insight和VS类似,也是一个IDE,但没有编译功能,适合阅读、修改代码,由于其查找、定位、彩色显示等功能的强大,而被我们当成源代码阅读工具使用。接下来以Source Insight3.5(3.5版本网上有破解版)和opencv340为例,说明新建工程与使用方法。

Step1:打开Source Insight,工具栏选择Project -> New Project,填写工程名与工程路径,点OK键。如下所示:

opencv怎么查看源码 opencv查看源代码_解决方案

Step2:选择源代码工程的根目录,点OK键。

opencv怎么查看源码 opencv查看源代码_opencv怎么查看源码_02

Step3:选择要添加源代码文件,点击Add Tree(添加指定的文件夹以及其子目录下的源代码文件);点击确定。

opencv怎么查看源码 opencv查看源代码_OpenCV_03

此时添加的源码文件都在下面列了出来,可以将没用的文件选中(如.html),Remove File移除,然后点击Close。

opencv怎么查看源码 opencv查看源代码_解决方案_04

Step4:然后将添加的代码进行同步,生成阅读代码的索引和辅助文件,方便对源代码进行阅读,如下所示。

opencv怎么查看源码 opencv查看源代码_OpenCV_05

通过以上步骤,opencvSI工程建成。

常用的窗口如下图所示,Project窗口可以快速搜索文件。主窗口为当前阅读的代码文件,选中所要查看的函数、变量可快速跟踪;左侧为代码的索引(包括变量、函数、宏定义)可快速定位代码。

opencv怎么查看源码 opencv查看源代码_解决方案_06

Source Insight支持很多快捷键,工具栏也非常丰富,具体使用网上很多资源,不再赘述!