为什么要使用CMake+VS编译OpenCV的源码

来源:互联网 发布:药智网数据库 编辑:程序博客网 时间:2024/06/05 12:54

当我们有时想查看OpenCV自带的函数的源代码,比如函数cvCreateImage, 此时我们选中cvCreateImage, 点击鼠标右键->转到定义,我们会很惊讶的发现为什么只看到了cvCreateImage的一个简单声明,而没有源代码呢?这是因为opencv将很多函数被加入了函数库,并被编译成了dll,所以只能看到函数申明,没法看到源代码。下面我们详细解释并讲解如何利用cmake查看opencv的源代码。

1:解释原因

   要想解释这个,我们必须得熟悉opencv的安装目录<opencv的安装见这篇blog:http://blog.csdn.net/lu597203933/article/details/11175811>。   我的安装目录在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()。

推荐两篇博文:
(1)
文章链接: http://blog.csdn.net/poem_qianmo/article/details/21974023
【OpenCV入门教程之七】 玩转OpenCV源代码:生成OpenCV工程解决方案与OpenCV源码编译
作者:毛星云(浅墨) 邮箱: happylifemxy@163.com
写作当前博文时配套使用的OpenCV版本: 2.4.8
(2)
http://blog.csdn.net/lu597203933/article/details/16116721
opencv学习_15 (利用cmake查看opencv的源码)