当我们有时想查看opencv自带的函数的源代码,比如函数cvCreateImage, 此时我们选中cvCreateImage, 点击鼠标右键->转到定义,我们会很惊讶的发现为什么只看到了cvCreateImage的一个简单声明,而没有源代码呢?这是因为openCV将很多函数被加入了函数库,并被编译成了dll,所以只能看到函数申明,没法看到源代码。下面我们详细解释并讲解如何利用cmake查看opencv的源代码。
1:解释原因
我的安装目录在D:\Program Files\OpenCV2.4.3\opencv。在这个目录下面还有很多子目录:3rdparty、android、build,data、doc、include、modules、samples和很多cmake文件。build目录是编译生成的目录,就是用openCV源代码编译生成的2进制库文件集(dll、lib和入口头文件include)。对于编程来说,仅仅需要build这一个文件夹就可以了。那么其他文件夹是用来干什么的呢?其实源代码就包含在这些文件夹下面,因为build文件夹就是在其他文件夹的基础上CMake编译生成的。大部分源代码放在modules文件夹下例如,core文件夹下就包含了基本数据类型的定义,imgproc文件夹下包含了常用的数字图像处理函数源代码:如cvCanny()、cvSobel()。
2:如何利用cmake查看opencv的源代码
(1 )点击”Where is the source code “后面的那个”Browse Source…”按钮,选择OpenCV 的安装路径;例如,笔者的Opencv2.0 安装路径为C:\opencv2.0src\OpenCV2.0 ;
(2 )点击”Where to build the binaries “后面的那个”Browse Build…”按钮,选择CMake 生成的工程文件所在的路径;例如,笔者选择的路径为:C:\opencv2.0src\OpenCV2.0VS2008 ;
如下图所示:
(3 )点击左下方的”Configure “按钮,选择编译平台,如笔者的机器上安装的是VS2008 ,因此,就选择Visual Studio 9 2008 。如下图所示:
(4 )点击”Finsh “按钮,出现如下画面:
(5 )再次点击”Config “按钮,结果如下所示:
(6 )点击”Generate “按钮,结果如下:
(7 )至此,就生成了你所需要的Visual Studio 工程文件了;例如,笔者选择的工程文件所在的路径C:\opencv2.0src\OpenCV2.0VS2008 就是如下的样子:
看到了opencv.sln工程了,用vs打开它,需要相应的函数的源码,在里面搜索查看就可以了。
总结为: 用CMake导出opencv 源码,生成VC++项目,然后用vs打开工程,去里面搜索整个工程。
Original: https://www.cnblogs.com/keanuyaoo/p/3424153.html
Author: 风言枫语
Title: opencv学习_15 (利用cmake查看opencv的源码)
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/552279/
转载文章受原作者版权保护。转载请注明原作者出处!