如何学习opencv源码

     当你在使用opencv时,看到一个函数有没有想去了解他的源码,而又无从下手?这里我将带你脱离这种尴尬的境遇!

面对这个问题,我自己也查找过许多的资料,网上有这样一种做法,步骤如下:

  找到自己的opencv所在的路径,D:\opencv\opencv\sources\modules在这个文件夹里去找寻自己所需要的的函数源码,但时本人不推荐这种办法,因为在这里还有相当一部分函数是找不到源码的。所以,需要推荐另外一种办法:

下载安装cmake

1,camke的官网:http://www.cmake.org/上下载到,首先转到其下载页面。如果登不上官网,可以去这里

   (本人就是用这个链接下的,请放心使用!)

2,安装camke,这个将不多说了。。。

3,打开camke,

如何查看opencv 某个函数的源码 opencv查看源代码_解决方案



击红色方框内的“Browse Source”按钮,在弹出的对话框中指定出OpenCV安装时源代码的存储路径。

以当前最新版本的OpenCV 2.4.8安装在D:\Program Files下为例,则在此选择路径:D:\Program Files\opencv\sources

4,

如何查看opencv 某个函数的源码 opencv查看源代码_opencv_02

点击红色方框内的“Browse Build”按钮,在弹出的对话框中指定我们存放生成的opencv解决方案的路径。比如F:/opencv。

5,

如何查看opencv 某个函数的源码 opencv查看源代码_如何查看opencv 某个函数的源码_03

第一次点击Configure按钮。

如何查看opencv 某个函数的源码 opencv查看源代码_源码_04


首先选定“Use default native compilers”,然后,我们可以发现下拉列表中提供了几十种编译器给我们选择,因为我们安装了Visual Studio,会默认为我们选择好对应版本的Visual Studio编译器,比如Visual Studio 10(即待会儿会生成对应VS2010的sln解决方案)


确认无误后,单击“finish”按钮


6,

如何查看opencv 某个函数的源码 opencv查看源代码_源码_05

看到进度条读到尽头,出现了Configuring done字样,第一次的源码配置就完成了

7,

如何查看opencv 某个函数的源码 opencv查看源代码_cmake_06

这样,就只剩下点一次Generate按钮,来生成最终的解决方案了:

8,

如何查看opencv 某个函数的源码 opencv查看源代码_cmake_07

看到Generating done字样,就表示大功告成,可以去之前我们指定的F:\opencv下找寻我们生成的解决方案了:

如何查看opencv 某个函数的源码 opencv查看源代码_源码_08

好了,大功告成,可以读你想读的源码了 !!


补充;以下是我在阅读templmatch函数源码的一些收获:

1,cvRound,函数的一种,对一个double型的数进行四舍五入,

2,DFT离散傅里叶变换的缩写

3,“1 << 3”表示2进制1向左移三位,“&”表示位与”运算是“位运算”的一种,运算法则是在二进制数下,相同位的两个数字都为1,则为1;若有一个不为1,则为0。&运算通常用于二进制取位操作,例如一个数 & 1的结果就是取二进制的最末位。这可以用来判断一个整数的奇偶

4,opencv源码中宏定义特别多,看的眼花缭乱,,,