近期项目需要用到OpenCV中的几个函数,但其函数无法全部实现自己需要的功能,故而需要改进部分函数,为安全及效率起见,想参考OpenCV的源码来改进,这样节省时间的同时亦可提供代码的鲁棒性和通用性。那么如何查看OpenCV的源代码?在VS2010环境下,使用“Go to Definition”显然不能满足要求(OpenCV已被编译成LIB及DLL文件供调用),简单搜索了一下,得知可CMake导出OpenCV源码生成VC++项目,进入可查看源码,下面一步一步来达到此目的。

一、下载并安装CMake

CMake 是个开源的跨平台自动化建构系统,在下载页面上可下载源码及二进制可执行程序,我们只需要下载安装包即可,我的PC系统是Windows 7(32bit),所以我下载cmake-2.8.12.1-win32-x86.zip

下载完成后,解压到/cmake-2.8.12.1-win32-x86文件夹下,进入./bin目录,双击“cmake-gui.exe”启动CMake。

二、使用CMake生成VC++项目

1.  打开CMake后,界面如下图所示

2.  填入相关信息

如上图所示,①点击“Where is the source code”后面的那个“Browse Source...”按钮,选择OpenCV源文件的安装路径;②点击“Where to build the binaries”后面的那个“Browse Build...”按钮,选择CMake生成的工程文件所在的路径;③点击“Configure”转下一步。

3.  点击“Configure”按钮,配置编译平台

如笔者的机器上安装的是VS2010,因此,就选择Visual Studio 2010。

4.  点击Finish按钮,开始配置

界面上显示出现了错误,查看错误原因得知“Could not register CMake's Visual Studio macros file 'CMakeVSMacros2.vsmacros' while Visual Studio is running. Please exit all running instances of Visual Studio before continuing.CMake needs to register Visual Studio macros when its macros file is updated or when it detects that its current macros file is no longer registered with Visual Studio.”

百度一下,原来是因为VS2010相关路径设置里面包含了中文等相关字符,可参看解决CMake为VC准备生成文件时的Could not copy from不能复制问题中的解决方案,修改路径名为全英文的。

修改好后,再次点击Configure,这次成功了,如下所示:

默认有的复选框没有选择,最好不要选择,因为库可能不全,从而导致生成失败,默认就好了。

5. 点击“Generate”按钮,进行生成。

如上所示,最下面的消息框中显示配置完成,生成也完成了。

我们转到生成目录(…/OpenCV2.4.8VS2010),如下所示:

OpenCV.sln便是我们需要的解决方案文件。至此,全部结束。

使用CMake生成VS2010项目查看OpenCV源代码的更多相关文章

  1. 使用CMake生成sln项目和VS工程遇到的问题

    用vs运行cmake后的工程 参考:http://zhidao.baidu.com/link?url=AZRxI0jGDzo6Pikk68qylee0g7leXbpbZGiVuyiijWbd8scUK ...

  2. CMake生成VS2010工程相对路径和绝对路径问题说明

    CMake生成VS2010工程相对路径和绝对路径问题说明 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 主要是使用CMake生成的VS2010的工程,最好不 ...

  3. cocos2d-2.0-x-2.0.4生成vs2010项目模板的解决方法

    cocos2d教学书籍还有网上好多博主都说仅仅要执行一下install-templates-msvc.bat这个批处理文件即可了.但是我按了半天vs2010就是不出现令小伙伴惊喜的cocos2d wi ...

  4. 利用CMake和OpenCV源代码生成Visual Studio工程

    OpenCV1.0版本有windows,linux之分,笔者曾经一直使用Opencv1.0.这个版本在下载,安装之后,在 \OpenCV\_make文件夹下面已经存在了一个opencv.dsw的工程文 ...

  5. opencv学习_15 (利用cmake查看opencv的源码)

    当我们有时想查看opencv自带的函数的源代码,比如函数cvCreateImage, 此时我们选中cvCreateImage, 点击鼠标右键->转到定义,我们会很惊讶的发现为什么只看到了cvCr ...

  6. 利用cmake查看opencv的源码

    当我们有时想查看opencv自带的函数的源代码,比如函数cvCreateImage, 此时我们选中cvCreateImage, 点击鼠标右键->转到定义,我们会很惊讶的发现为什么只看到了cvCr ...

  7. 如何查看OpenCv的源代码

    需要移植部分opencv的算法,不得不查看opencv的原始代码. 在一般的代码调试中一般只能看到一些opencv的函数声明和定义,看不到内部执行过程,需要利用 CMake导出opencv 源码,生成 ...

  8. CMake生成OpenCV解决方案&&编译OpenCV源码

    生成OpenCV工程需要用到CMake,所以第一步需要下载CMake软件,下载链接:CMake下载 目前最新的版本是3.7.1,这里选择下载Platform下的Windows win32-x86 ZI ...

  9. 学习 opencv---(6)玩转opencv源代码:生成opencv 工程解决方案与opencv 源码编译

    在这篇中,我们探讨如何通过已安装的opencv选择不同的编译器类型,生成高度还原的OpenCV开发时的解决方案工程文件,欣赏OpenCV新版本中总计 六十六多万行的精妙源代码.我们可以对其源代码进行再 ...

随机推荐

  1. 35.windows提权总结

    本文参考自冷逸大佬的博客,源地址在这里:https://lengjibo.github.io/windows%E6%8F%90%E6%9D%83%E6%80%BB%E7%BB%93/ windows提 ...

  2. C#文件监控工具(对追加内容的监控并输出)

    C#文件监控(对追加内容的监控并输出),适合监控某个目录下的日志文件(log),开发初衷是linux上部署在jexus部署网站后想实时输出jexus的log和自己站点的log文件(已经测试通过在mon ...

  3. 关于nginx的使用感想

    感慨: 最近老板说要转型NodeJs,所以接连用ThinkJS框架写了2个项目(不过通篇弱类型不用考虑class是真的爽啊...).那天老板又正好让我看看Ngxin的负载均衡和静态资源处理,那现在就写 ...

  4. KONG -- 配置 service 并添加 key-auth

    默认情况下, KONG 监听下面几个端口: 8000   这个端口用于监听客户端的 HTTP 请求,并转发给上游服务 8443   这个端口用于监听客户端的 HTTPS 请求,并转发给上游服务 800 ...

  5. 洛谷P3966 [TJOI2013]单词(后缀自动机)

    传送门 统计单词出现次数……为啥大家都是写AC自动机的嘞……明明后缀自动机也能做的说…… 统计出现次数这个就直接按长度排序然后做个dp就好,这是SAM的板子的要求啊,不提了 然后考虑怎么让所有串之间隔 ...

  6. IOS Swift UITableViewcontroller实现点击空白处隐藏键盘

    在ios开发中,为了方便,我们经常使用UITableViewcontroller,比如搜索界面为了方便可能更多的使用UITableViewcontroller,那么问题就来了,当我点击搜索框的时候会弹 ...

  7. 《权限系列shiro+cas》---封装公共验证模块

    操作系统:Windows8.1 显卡:Nivida GTX965M 开发工具:Visual Studio 2017 Introduction 我们现在可以将任意属性传递给每个顶点的顶点着色器使用.但是 ...

  8. FoundToday 隐私政策

    FoundToday 隐私政策 本应用尊重并保护所有使用服务用户的个人隐私权.为了给您提供更准确.更有个性化的服务,本应用会按照本隐私权政策的规定使用和披露您的个人信息.但本应用将以高度的勤勉.审慎义 ...

  9. jmeter将参数值写入到指定文件(转)

    有时在测试过程中需要将测试过程中生成的参数保存下来,jmeter并没有此类功能,此时,可以 通过beanshell编写代码来实现 思路: 每次请求响应返回后,通过正则表达式获取到需要保存的值,通过Be ...

  10. std::ref() 与 &

    引言 之前因为调整样式把博客园的样式毁了,所以一直在自己的另一个博客上更新,有兴趣的可以去观望一下:http://blog.yunlambert.top/最近还是把博客园拾起来吧..... 最近看到一 ...