图像处理开发需求、图像处理接私活挣零花钱,请加微信/QQ 2487872782
图像处理开发资料、图像处理技术交流请加QQ群,群号 271891601

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

1:解释原因

要想解释这个,我们必须得熟悉opencv的安装目录<opencv的安装见我这篇blog:opencv学习_1(VS2010-openCV2.4.3-win7 配置说明)_小村长技术blog-CSDN博客>。

我的安装目录在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>cmake可以到官网http://www.cmake.org去下载,安装一切按默认设置,一路点击“下一步”即可;

<2>打开Cmake工具,如下图所示:

(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打开工程,去里面搜索整个工程。

图像处理开发需求、图像处理接私活挣零花钱,请加微信/QQ 2487872782
图像处理开发资料、图像处理技术交流请加QQ群,群号 27189160

利用cmake查看OpenCV的源码的方法相关推荐

  1. 查看安卓APK源码破解

    原文:查看安卓APK源码破解 工具准备: <1>.android4me的AXMLPrinter2工具 <2>dex2jar <3>jd-gui 工具下载:http: ...

  2. 我在windows10下,使用CMake gui 编译krita源码

    系列文章目录 文章目录 系列文章目录 前言 一.krita编译说明 二.使用步骤 前言 我在windows10下,使用CMake gui 编译krita源码 where is the source c ...

  3. c语言回溯实验报告,实验报告: 人脸识别方法回溯与实验分析 【OpenCV测试方法源码】...

    实验报告: 人脸识别方法回顾与实验分析 [OpenCV测试方法源码] 趁着还未工作,先把过去做的东西整理下出来~ (涉及个人隐私,源码不包含测试样本,请谅解~) 对实验结果更感兴趣的朋友请直接看第5章 ...

  4. eclipse java jar源码,eclipse查看Jar包源码

    这几天想研究一下hibernate等流行开源框架的源码,于是了解了一下如何在eclipse中查看导入的jar包的源码. 我们在开发或学习过程中,有时总避免不了查看jar包的源码.当我们按Ctrl+点击 ...

  5. 【Linux 内核】编译 Linux 内核 ② ( 解压内核源码 | 查询当前 Linux 内核版本号 | 进入并查看 linux 内核源码目录 )

    文章目录 一.解压内核源码 二.查询当前 Linux 内核版本号 三.进入并查看 linux 内核源码目录 一.解压内核源码 将 下载的 Linux 内核源码 linux-5.6.14.tar.gz ...

  6. 在Eclipse中查看Android SDK源码

      很多时候我们需要查看Android SDK源码来更好的了解API和分析问题. SDK 源码 从Android4.0开始在AndroidSDK Manager中就为我们提供了SDK源码下载,打开Ec ...

  7. Python 技术篇-pip安装的python库缓存位置查看方法,如何查看python库源码

    用 pip install xxx 安装库时,pip 把库缓存在了:C:\Users\Administrator\AppData\Local\pip\cache, 我的用户是管理员,所以是 Admin ...

  8. 如何查看linux系统源码

    能够查看linxu系统源码是类unix系统开源性的体现,是在其他系统享受不到的待遇,我的系统是ubuntu,将查看过程列在下面: 例如我想查看cat命令工具的源码-- 查看工具的路径 $ wherei ...

  9. linux的进程/线程/协程系列3:查看linux内核源码——vim+ctags/find+grep

    linux的进程/线程/协程系列3:查看linux内核源码--vim+ctags/find+grep 前言 摘要: 1. 下载linux内核源码 2. 打标签方法:vim+ctags 2.1 安装vi ...

最新文章

  1. 语音识别大牛Daniel Povey为何加入小米?“手机+AIoT”强大生态,开源战略是关键...
  2. 智能识别技术对电子警察设备的影响
  3. 自编Win8风格Android音乐播放器应用源码(单机版)
  4. 性能测试培训: 监控CPU之python
  5. 孙高飞:人工智能测试_高飞学习钓鱼:为什么好的文档很重要
  6. 敏捷开发系列学习总结(12)——给Scrum Master的十个建议,你值得拥有
  7. Windows下FFmpeg各版本库文件下载
  8. Centos安装桌面系统并设置成默认启动
  9. Bug人生---初看windows核心编程有感
  10. 【支付宝】支付宝ISV申请方法
  11. PHP实现牛津英汉词典
  12. P2825 [HEOI2016/TJOI2016]游戏 (二分图最大匹配,预处理)
  13. 金网奖首度跨界心理学,打造最强案例
  14. 产品全生命周期的产品结构和配置管理构架
  15. Minecraft——Forge1.16.5模组开发(36.2.20)——(3)第一个实体方块
  16. 希捷推出数条战略有意对抗充氦硬盘
  17. 基于uFUN开发板的心率计(二)动态阈值算法获取心率值
  18. 元数据管理系统的研究与实现
  19. 雅可比行列式和雅可比矩阵
  20. 545C - Woodcutters

热门文章

  1. python程序员工作怎样-12个Python程序员面试必备问题与答案(小结)
  2. python做电脑软件-Python编程软件(专业电脑编程工具)V3.9.1 最新版
  3. python工作-Python自动化运维|Python语言工作岗位待遇如何?
  4. python打开一个文件-在“Python”中如何“尝试/抓住”打开一个文件?
  5. python解一元二次方程步骤-使用Python解一元二次方程!
  6. 编程语言python特点-Python语言的特点有哪些?九大特点介绍!
  7. python做电脑软件-作为一个Python程序员,电脑上应该具备哪些软件?
  8. anaconda怎么运行python程序-致Python初学者 Anaconda入门使用指南完整版
  9. python如何导入txt文件-数据从txt文本导入python
  10. gitbook的使用