今天上午,需要查看opencv的cvColor函数的源代码,之前虽然经常使用opencv库来做一些图像相关的处理,但是并没有查看过opencv的源代码,经过一些查找,主要有下面的两种方法: 1. 使用cmake。我们知道,我们在官网上下载的完整版的opencv一般会有build和sources两个文件夹,如果我们仅仅是要使用opencv库,那么build文件夹足矣。而如果是要查看opencv的源代码,则需要sources文件夹,但是sources文件夹中只是一些零散的文件,用Visual Studio随便打开一个.cpp文件,随便选择一个函数点击右键,发现并不能“查看定义”,原因在于:所有的源文件之间还没有建立联系,即还没有建立工程文件,而cmake就是来做这样一件事情的。具体的可以参考下面的这篇博文: link; 2. 使用opencv官网+Visual Studio的方式。
第2种方法是我接下来要着重介绍的,有时候,我们懒得去使用cmake,或者,我们在使用别人的电脑,只是突然之间灵光一闪,想要看一看一个函数的源码,下面,我以查看cvCanny这个函数的源代码为例,按照下面的步骤来进行(电脑上需要有opencv的sources文件夹以及Visual Studio或者相似功能的IDE): 1. 首先,确定cvCanny函数所在的模块。如果你已经知道cvCanny函数位于opencv的imgPRoc模块,那么可以忽略此步骤,如果不知道,则可以通过opencv的官网查看cvCanny函数所在的模块: 打开opencv官网——DOCUMENTATION——REFERENCE——搜索cvCanny关键字 可以搜索到下面的内容: 然后点击搜索到的cvCanny函数,便会出现一个新的页面,当然我们的目的是确定cvCanny函数所在的模块,我们发现,新出现的页面的网址中: 有“modules/imgproc”这样的一小部分,所以我们可以知道,cvCanny函数是属于imgproc模块。那么,知道cvCanny函数所在的模块之后,下一步要做什么呢?请继续往下看。 2. 使用Visual Studio进行源码搜索。打开Visual Studio,在: 编辑——查找和替换——在文件中查找 进行如下的输入: 查找的内容当然就是cvCanny,而查找的范围就是sources/modules/imgproc/src 到这里,可以知道,上面步骤1确定函数所在的模块是为了缩小查找的范围,加快查找的速度。 查找得到如下的结果: 这个时候,双击相应的行就可以查看cvCanny函数所对应的源码了!
到这里,就完成了对“用opencv官网+Visual Studio”查看opencv函数源代码这种方法的介绍。 还是上面说的,这种方法主要是方便懒得使用cmake或者只是偶尔灵光一闪想看看源代码的朋友,如果是想系统地查看源代码,当然还是得用cmake建立起相应的工程文件,查看起来才能比较方便。
新闻热点
疑难解答