在使用OpenCV时,在对一个函数的调用不是非常了解的情况下,通常希望查到该函数的官方声明。而假设想进一步研究OpenCV的函数,则必须深入到源码。

在VS中我们能够选中想要查看的OpenCV函数,点击右键-> 转到定义。我们能够非常清楚地了解到函数的简单声明,可是并没有给出源码。

这是由于openCV将非常多函数被增加了函数库,并被编译成了dll。所以仅仅能看到函数申明,没法看到源码。

第一个方法:在官网下载OpenCV后须要解压缩,完毕后能够找到OpenCV的解压文件夹打开,在source/modules中存放着全部函数的源代码,手动打开就可以。相比之下。下面方法更为便捷。

步骤一:我的OpenCV安装(解压)文件夹是E:/opencv/opencv。首先须要安装Cmake,能够到官网http://www.cmake.org去下载并按默认设置安装安装就可以。

步骤二:打开Cmake,在第一行“Where is the source code”后面的那个“Browse Source...”button,选择OpenCV的安装路径。我的Opencv2.0安装路径为E:/opencv/opencv/,这里须要选择source目录。因此输入E:/opencv/opencv/source,同理点击第二行的“Browse Build...”button并选择生成的源代码路径。

这里放置在C:/OpenCV
sources目录中,设定完毕后点击左下方的configure。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl5dWVmZWlsb25n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" height="495" width="594">

步骤三:在弹出的对话框中选择第一项,并在下拉框中选择编译平台。因为本人电脑上安装的是VS2013 64位版本号。因此,就选择Visual Studio
12 2013 Win64,点击Finish。

步骤四:须要一段时间,完毕时出现下面界面:

步骤五:再次点击Configurebutton,完毕时红色部分消失,为下面状态:

步骤六:点击“Generate”button。等到最下方信息显示框显示点击“Generate done”时全部步骤完毕!至此,就生成了包括OpenCV函数源码的Visual Studioproject文件;进入project文件所在的路径C:/OpenCV
source:

能够看到opencv.slnproject了。用VS打开它,能够搜索全部函数的源代码。

相比第一种方法,显然这样的查阅函数的方法更加便捷~



OpenCV2学习笔记(十五):利用Cmake高速查找OpenCV函数源代码的更多相关文章

  1. python3.4学习笔记(十五) 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)

    python3.4学习笔记(十五) 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) python print 不换行(在后面加上,end=''),prin ...

  2. (转载)西门子PLC学习笔记十五-(数据块及数据访问方式)

    一.数据块 数据块是在S7 CPU的存储器中定义的,用户可以定义多了数据块,但是CPU对数据块数量及数据总量是有限制的. 数据块与临时数据不同,当逻辑块执行结束或数据块关闭,数据块中的数据是会保留住的 ...

  3. (C/C++学习笔记) 十五. 构造数据类型

    十五. 构造数据类型 ● 构造数据类型概念 Structured data types 构造数据类型 结构体(structure), 联合体/共用体 (union), 枚举类型(enumeration ...

  4. MySQL学习笔记十五:优化(2)

    一.数据库性能评测关键指标 1.IOPS:每秒处理的IO请求次数,这跟磁盘硬件相关,DBA不能左右,但推荐使用SSD. 2.QPS:每秒查询次数,可以使用show status或mysqladmin ...

  5. Java基础学习笔记十五 集合、迭代器、泛型

    Collection 集合,集合是java中提供的一种容器,可以用来存储多个数据. 在前面的学习中,我们知道数据多了,可以使用数组存放或者使用ArrayList集合进行存放数据.那么,集合和数组既然都 ...

  6. angular学习笔记(十五)-module里的'服务'

    本篇介绍angular中的模块:module 在笔记(二)http://www.cnblogs.com/liulangmao/p/3711047.html里已经讲到过模块,这篇主要讲模块的 '服务' ...

  7. Java学习笔记十五:Java中的成员变量和局部变量

    Java中的成员变量和局部变量 一:成员变量: 成员变量在类中定义,用来描述对象将要有什么 成员变量可以被本类的方法使用,也可以被其他类的方法使用,成员变量的作用域在整个类内部都是可见的 二:局部变量 ...

  8. MYSQL进阶学习笔记十五:MySQL 的账号权限赋予!(视频序号:进阶_33,34)

    知识点十六:MySQL的账号权限赋予(33) 一.MySQL权限简介 关于mysql的权限简单的理解就是mysql允许你做你全力以内的事情,不可以越界.比如只允许你执行select操作,那么你就不能执 ...

  9. 数据结构和算法学习笔记十五:多路查找树(B树)

    一.概念 1.多路查找树(multi-way search tree):所谓多路,即是指每个节点中存储的数据可以是多个,每个节点的子节点数也可以多于两个.使用多路查找树的意义在于有效降低树的深度,从而 ...

随机推荐

  1. 网络嗅探器Wireshark

    http://www.wireshark.org/   About Wireshark Wireshark is the world's foremost network protocol analy ...

  2. mysql 游标的嵌套使用示例

    BEGIN DECLARE trainee_no_value BIGINT (20); -- 学员编号 DECLARE pay_no_value BIGINT (20); -- 交费序号 DECLAR ...

  3. YYH的营救计划(NOIP模拟赛Round 6)

    题目描述 “咚咚咚……”“查水表!”原来是查水表来了,现在哪里找这么热心上门的查表员啊!YYH感动的热泪盈眶,开起了门…… YYH的父亲下班回家,街坊邻居说YYH被一群陌生人强行押上了警车!YYH的父 ...

  4. Access数据库 INSERT INTO 失败

    一次操作Access数据库,插入一条数据,总是失败,如下: 通过赋值,一个字段一个字段的排查,最终确定是UserAge字段处有问题. 最初,UserAge字段是 %d 类型的,赋值20,可成功插入数据 ...

  5. VS2013 MFC C++ CString ,const char , char, string 类型转换

    VS2013 测试 以下测试加入头文件: # include <string>#include <cstdlib>using namespace std; //-------- ...

  6. linux内核分析之进程地址空间【转】

    转自:http://blog.csdn.net/bullbat/article/details/7106094 版权声明:本文为博主原创文章,未经博主允许不得转载. 本文主要介绍linux内核中进程地 ...

  7. 在Centos中使用goaccess查看Nginx日志

    在Nginx的配置文件中配置一下access日志: log_format access ‘$remote_addr – $remote_user [$time_local] “$request” ‘‘ ...

  8. 阿里最新出的图书《码出高效:Java开发手册》宣传手册图片里出了比较搞笑的错误,大家没有发现?

  9. (5)java基础知识2

    一.方法 方法相当于功能的实现. public   static   int          max    (int num1, int num2)   {....................} ...

  10. SpringBoot动态数据源

    1.原理图 2.创建枚举类 /** * 存数据源key值 */ public enum DataSourceKey { master,salve,migration } 3.创建自定义注解类 /** ...