下载的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库,应该是一个不错的开始。对文章中出现的不足和错误,欢迎指正。
相关推荐
该资源包是Win10下Cmake+vs2015编译opencv_contribute3.4.5生成的可用库文件,可直接下载使用不用编译,其中也有编译所需的所有资源文件,可根据步骤自己编译
Cmake编译OpenCV库及OpenCV库使用。^Cmake?¨OpenCV¥9OpenCV¥ƒ^ x wkcagd@mail.ustc.edu.cn 2013 c 10 13 F SCOpenCV V´e1OpenCV.exe§‰SC8„§SC="b‰SC8„D:/OpenCV SCCmake
VS2015编译OpenCV3.2 32位lib,经过测试,可以放心使用
很多的朋友在使用opencv3.x版本的都是不带opencv_contrib,但是又苦于没有好的教程编译总是不成功,这里就给大家分享一下我的笔记,关于用Cmake 和vs 来对opencv3和opencv_contrib3.2.0 整合 编译的笔记
Win+VS2017+CMake编译OpenCV3.4.1+contrib3.4.1,包括debug和release模式,测试可用
windows 环境下使用 cmake+mingw-w64+qt5.10 编译 opencv3.4... windows 环境下使用 cmake+mingw-w64+qt5.10 编译 opencv3.4... windows 环境下使用 cmake+mingw-w64+qt5.10 编译 opencv3.4... vvvv windows 环境...
该安装包使用官网提供的opencv4.1.1+contirb4.1.1的源码使用cmake3.17.0和VS2017编译完成,实测可用,可直接下载。 该安装包内含: 1、opencv-4.1.1-vc14_vc15.exe(官网提供的opencv411安装包) 2、已经编译完成的...
opencv3.1.0 +opencv_contrib在cmake编译文件库适用于vs2015 x64
Opencv3.2 Cmake编译opencv_contrib模块所需库
cmake编译OpenCV和OpenCV_contrib易下载失败的文件
Cmake3.8+vs2012重新编译opencv3.0Beta,可以根据此文档编译其他版本的opencv
Windows下Qt+minGW+CMake+Opencv4.3编译配置。使用cmake+mingw编译好的opencv4.3版本的安装包,直接白嫖就可以。
opencv4.5.1 Cmake编译(包含opencv contrib)
opencv3.4.0 vs2013_win7系统下CMAKE_x86和x64的DLL和LIB
CMake3.11.2+QT5.8.0编译OpenCV3.4.1和opencv_contrib3.4.1
cmake 编译opencv3.2.0相关资源 opencv_contrib-3.2.0时,可能缺少的资源,大家可以自行在GitHub上搜索下载,但是有时会受到网速限制,所以提供下载方式。文件包含: ippicv_windows_20151201;OpenCV3.2_ffmpeg;...
一年多了吧,以前在网上下载了openCV2.1的库,然后自己使用CMAKE编译的,可以用,内有说明文档,教你如何设置VS选项。 静态库就是说,你写了一个openCV程序,想在没有openCV环境的windows系统上运行,就需要静态...
vs2019环境下重新编译opencv4.5.1,包含了扩展库opencv_contribute4.5.1以及cuda,文件内容包含opencv4.5.1和opencv_contribute4.5.1的源码,以及编译过程中需要下的ffmpeg等文件
cmake编译的opencv310_contrib x64 系统的lib库和dill文件
对应版本 opencv3.4.3+vs2015 32位+opencv_contrib3.4.3+cmake 完全编译后的文件 可直接用