Windows下利用CMake和VS2013编译OpenCV
来源:互联网 发布:单片机开发智能家居 编辑:程序博客网 时间:2024/04/29 04:08
获取OpenCV有两种途径,一是预编译好的库,二是下载源代码自己编译。OpenCV官网http://opencv.org/提供
下载的OpenCV既包含编译好的库,也包含源代码。通过OpenCV官网右上角的彩带,可以获取托管在GitHub上的OpenCV最新源代码。本篇博文就是利用CMake和VS2013编译GitHub上获取的最新源代码。
先来说一下自己编译的好处。
- 由于获取的是最新源代码,所以可以在OpenCV发布某个版本之前利用集成进来的高级功能;
- 自己编译可以在程序调试时跟踪源码;
- 预编译的库不包含一些功能,比如TBB,如果想使用这些功能只能自己动手了。
总之,应了那句俗话:自己动手,丰衣足食。
编译源代码用到的工具包括:VS2013、CMake、Git工具(TortoiseGit),TBB(如果需要包含进来的话)。
一、使用CMake生成VS2013的OpenCV解决方案
- 利用TortoiseGit获取最新的OpenCV源代码,放在C:\OpenCVLatest。
- 在OpenCVLatest目录下新建目录build\vs2013x64,用于放置生成的解决方案和编译好的库。
- 打开CMake,在Where is the source code后面的文本框选择OpenCV的源代码,Where to build the binaries选择第2步新建的文件夹vs2013x64,如下图所示:
- 点击“Configure”按钮,在弹出的对话框中,选择“Visual Studio 12 Win64”,使用默认的本地编译器,如下图所示:
- 点击“Finish”之后,等待配置完成,如下图所示:
- 找到WITH_TBB,勾选:
- 再次点击“Configure”按钮,配置完成出现红色标记,修改TBB_INCLUDE_DIRS的Value为:C:\OpenCVLatest\tbb42_20140122oss_win\tbb42_20140122oss\include
- 再次点击“Configure”按钮,会出现如下所示:
- 这个地方需要注意一下,因为生成的Value值到intel64,这里需要修改为intel64/vc12,对应vs2013,如下图所示:
- 再次点击“Configure”按钮,这时就没有红色标记出现了,点击“Generate”按钮,生成OpenCV的解决方案。
二、VS2013编译OpenCV解决方案生成库
- 打开OpenCV的解决方案,右击CMakeTargets下的INSTALL,选择“生成”,生成Debug版的dll和lib,如下图所示:
- 修改配置为“Release”,重复步骤1,生成Release版的dll和lib,如下图所示:
- 生成完毕,在OpenCV解决方案下的install文件夹里就有了dll,lib和h头文件了。
- 虽然生成了库文件了,如果可以Debug跟踪源码,还得保留OpenCV解决方案。
三、生成过程中遇到的错误
通过CMake生成解决方案的过程中由于不仔细,导致后面生成时遇到了一些error LNK1104错误,比如说无法打开opencv_core300d.lib,无法打开tbb_debug.lib之类。原因就是在指定的目录找不到这些文件,其实出现这些问题的根本原因是在配置TBB的时候配置错了,必须在intel64后面加上那个vc12,否则找不到。通过查看附加库目录就可以知道配置的是否正确,如下图所示:
四、结束语
本篇博文,到此就结束了。对于想学习OpenCV,对计算机视觉有兴趣的朋友,动手编译自己的OpenCV库,应该是一个不错的开始。对文章中出现的不足和错误,欢迎指正。
0 0
- Windows下利用CMake和VS2013编译OpenCV(TBB编译)
- Windows下利用CMake和VS2013编译OpenCV
- Windows下利用CMake和VS2013编译OpenCV
- Windows下利用CMake和VS2013编译OpenCV
- Windows下利用CMake和VS编译OpenCV
- Windows下利用CMake和VS编译OpenCV
- Windows下利用Cmake编译opencv
- 基于windows下使用CMake和VS2013编译OpenCV的环境搭建
- 利用cmake编译opencv库
- 在vs2015下利用cmake编译opencv 3.1
- windows cmake 编译opencv 出错
- windows下编译使用opencv的cmake工程
- QT + opencv + cmake windows下编译、环境配置
- FontConfig在windows和VS2013下编译
- Windows下利用Cmake编译OpenCV3.2.0 遇到ipipcv问题解决
- VS2010下 cmake编译opencv
- CMake + VS2013 Win7x64下编译opencv3.0
- 在ubuntu下使用cmake进行opencv的配置和Windows下进行使用cmake编译源代码比较,opencv3进行g++例子程序编译、动态库的制作
- 深入理解Java内存模型(一)——基础
- 微信公众平台开发 OAuth2.0网页授权
- 【HushMail】如何申请HashMail免费账号
- PHP实现短信宝发送短信验证码功能
- vim配置文件.vimrc常用配置项和Ctags配置
- Windows下利用CMake和VS2013编译OpenCV
- Anti-Caching:一种新型数据库管理系统架构
- Redmine 3.2.1 新建问题时速度过慢的问题
- 软件工程的概论与团队合作的学习与感悟
- jline初步了解
- [BZOJ 3270]博物馆
- JS定义二维数组的三种方法
- cf#89-C - Fancy Number - 暴力-贪心-模拟
- 大数乘法的计算原理