下载的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库,应该是一个不错的开始。对文章中出现的不足和错误,欢迎指正。
相关推荐
cmake+vs2015+opencv4.8.0+opencv-contrib4.8.0源码编译,x64,release版本
该资源包含了opencv中所有的第三方库中的功能
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
在Windows 10环境下,利用CMake和Visual Studio 2015编译OpenCV_contrib模块的3.4.5版本是一项技术性较强的任务。OpenCV是一个强大的计算机视觉库,而OpenCV_contrib则包含了额外的模块,提供了更多的功能,如面部...
本文将详细讨论如何使用Visual Studio 2015(VS2015)编译OpenCV 3.2的32位静态库(lib文件)。 首先,你需要确保已安装以下软件: 1. Visual Studio 2015 Community或更高版本,确保安装了C++工具链。 2. OpenCV ...
在Windows系统上使用OpenCV库进行C++开发时,经常需要通过CMake工具来配置编译环境。然而,由于网络问题或服务器限制,有时在自动下载依赖包的过程中可能会遇到失败的情况。在这种情况下,我们需要手动干预以确保...
总结,通过上述步骤,我们了解了如何在Windows环境下,利用CMake和Visual Studio 2017编译OpenCV 3.4.1及contrib 3.4.1。这个过程不仅要求对OpenCV的结构和功能有基本理解,还需要熟悉CMake的配置以及Visual Studio...
OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。使用了Win10操作系统 VS2022编译器 CMake3.24.4构建工具 生成
很多的朋友在使用opencv3.x版本的都是不带opencv_contrib,但是又苦于没有好的教程编译总是不成功,这里就给大家分享一下我的笔记,关于用Cmake 和vs 来对opencv3和opencv_contrib3.2.0 整合 编译的笔记
在本教程中,我们将关注如何在CMake环境下编译OpenCV 3.1.0版本,并且结合opencv_contrib模块,适用于Visual Studio 2015的x64平台。 首先,你需要下载OpenCV 3.1.0和opencv_contrib的源代码。opencv_contrib模块...
### CMake+MinGW编译OpenCV和opencv_contrib #### 背景介绍 本篇文章主要介绍了如何使用CMake 3.11.2与QT 5.8.0来编译OpenCV 3.4.1及其附加模块opencv_contrib 3.4.1的方法。OpenCV(Open Source Computer Vision ...
在这个场景中,"cmake编译opencv310_contrib X64 lib和dill"意味着用户正在使用CMake来编译OpenCV 3.1.0的贡献模块(opencv_contrib)以及dill库,目标是为x64架构的系统生成库文件(lib)。 首先,我们需要理解...
本篇文章将详细讲解如何解决"Windows下cmake编译OpenCV"时出现的ade和ffmpeg缺失的问题。 首先,`OpenCV`是一个开源的计算机视觉库,它包含了大量的图像处理和计算机视觉的函数。在Windows上使用CMake来配置和构建...
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 环境...
在本文中,我们将深入探讨如何在Windows 10 64位系统上使用CMake编译OpenCV 3.4.3版本,特别是在 MingW环境下,利用Qt5.11自带的MingW版本进行构建。CMake是一个跨平台的自动化构建系统,它可以帮助我们管理和配置...
在配置和编译OpenCV时,CMake是必不可少的工具,因为它允许用户自定义编译选项,例如选择要包含的模块、编译器设置以及安装路径等。 编译OpenCV的过程通常包括以下步骤: 1. **下载与解压**:首先,你需要下载...
在这个“opencv3.4.0_vs2013_win7_x86_x64编译库”压缩包中,包含了针对不同体系结构的OpenCV 3.4.0版本的编译库,适用于Visual Studio 2013(VS2013)开发环境,并且可以在Windows 7操作系统上运行。 1. **OpenCV ...
总结一下,这个"opencv3.4.0+VS2013编译好的库"资源提供了已经为VS2013配置好的OpenCV 3.4.0版本,利用CMake进行编译和打包,使得开发者可以轻松地在Windows环境下进行计算机视觉开发。通过正确配置项目属性,可以...
总结来说,利用CMake和Visual Studio 2015编译OpenCV 3.4.0,可以让你自定义编译选项并确保特定功能(如SIFT)的可用性。通过下载提供的VsOpencv34DR文件,你可以直接使用预编译的库,快速集成到自己的项目中。同时...
本文将详细解释如何使用CMake正确编译OpenCV和OpenCV_contrib,并解决常见的下载失败问题。 首先,我们需要了解CMake,这是一个跨平台的开源构建系统,用于管理项目的构建过程。CMake通过读取名为`CMakeLists.txt`...