在使用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. Linux下kill命令

    首先了解什么是信号:信号是进程级的中断请求,系统定义了30余种信号,kill是管理员用来发送信号的一种手段. 功能说明:删除执行中的程序或工作. 语 法:kill [-s <信息名称或编号> ...

  2. 为IE和chrome编写单独的样式

    flex布局在IE10上不支持,为IE10编写特定的样式可以用判断navigator.userAgent 的方法 var doc = document.documentElement; doc.set ...

  3. OpenGL入门学习(一)(转)--环境搭建

    http://blog.chinaunix.net/uid-20622737-id-1912797.html 说起编程作图,大概还有很多人想起TC的#include <graphics.h> ...

  4. xen 保存快照的实现之 —— device model 状态保存

    xen 保存快照的实现之 —— device model 状态保存 实现要点: 设备状态保存在 /var/lib/xen/qemu-save.x 文件这个文件由 qemu-dm 产生,也由 qemu- ...

  5. nginx+lua_module安装

    1.LuaJit安装 # cd /usr/local/src # git clone http://luajit.org/git/luajit-2.0.git # cd luajit-2.0 # ma ...

  6. css伪类元素:after 的多功能用法——任意大小的底边框

    需求用法出现的背景: 由于项目UI的优化,项目中所有tab导航选中的状态都是统一样式书写的,之前都是用的border-bottom,新的需求如果用以前的本办法就是定位一个选中边框在底部,但是涉及的模板 ...

  7. Web前端培训学习心得

    web前端工程师技术日趋成熟,越来越多的行业巨头正不断向web前端工程师示好,在未来几年,web前端将会以更多的形式渗透到我们生活中的方方面面,因此越来越多的从业者开始关注web前端开发行业,今天小编 ...

  8. SpringMVC + Hibernate + MySQL 的简易网页搭建(Dao层 实现篇)

    首先在搭建一个网站后台前,需要明确出一个合理的网页搭建的结构框架,即从DB  ==>  Dao层 ==>Service层 ==>Control层 ==>View层(该层严格意义 ...

  9. 51nod 1413 权势二进制【进制思维】

    1413 权势二进制 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题  收藏  关注 一个十进制整数被叫做权势二进制,当他的十进制 ...

  10. uva11107(后缀数组)

    uva11107 题意 输入 n 个 DNA 序列,求出长度最大的字符串,使得它在超过一半的 DNA 序列中连续出现.如果有多解,按字典序输出. 分析 论文 后缀数组经典题.加深几个关键数组的印象. ...