转载 https://www.cnblogs.com/xinxue/p/5766756.html

 OpenCV 3.4 版本,圣诞节前发布了,该版本新增了一种去掉视频背景的算法,dnn 模块的进一步改进,速度的提升,以及一些新添加的 tutorials 等等。

  本文以 Win10   位 为例,介绍用 cmake 编译 OpenCV 的过程 (如果是  位系统,则对应 32位 的 cmake 和 Qt 软件)

  下载准备
1.1 Win10
Windows 专业版, 位 注:安装 VS 时,要求操作系统 Win7 Service Pack 以上 1.2 VS or Qt
选择一: Visual Studio ,专业版,下载链接 https://www.visualstudio.com/downloads/ 选择二: VS2015 + Qt 5.9.,对应 qt-opensource-windows-x86-5.9..exe,下载地址 https://www1.qt.io/download-open-source/#section-2 注:虽然 Qt 是开源的,但是在下载时,需要自行注册账号,并且遵守一些开源的协议 1.3 cmake
下载 cmake-3.10.-win64-x64.zip 压缩包,到 /bin 目录下,点击 cmake-gui 运行。 注:根据操作系统的不同,选择相应的版本,cmake 下载页 https://cmake.org/download/ 1.4 OpenCV
首先,选择 “Source code”,下载 GitHub 中的 OpenCV 源码 GitHub 链接 https://github.com/opencv/opencv/releases 其次,按照类似的步骤,在 GitHub 中下载 opencv_contrib 的源码压缩包 GitHub 链接 https://github.com/opencv/opencv_contrib/releases/tag/3.4.0 最后,将两个 zip 包解压缩,等待编译。 cmake 编译
注意: cmake 在编译过程中,会自动下载一些文件,例如 opencv_ffmpeg.dll 等,因此需要保持网络畅通。 2.1 运行
在解压后的 cmake 目录中,找到 /bin 下的 cmake-gui.exe,点击运行,如下所示 其中, source 路径指向解压后的 “opencv-master”,build 路径可指向自己建的一个 “build” 文件夹 注: 此处误将 source 路径指向了 "opencv-master/modules",导致 Configure 时出现如下错误 2.2 配置
2.2. opencv-maste 设置好路径后,点击左下角的 Configure 按钮,弹出窗口,如下所示 点击 Finish 按钮,继续,此时主界面的 Configure 按钮变为 Stop,表示配置进行中 注意:如遇到问题,先检查错误信息;然后,点击 File -> Delete Cache,退出 cmake-gui,并将 build 文件夹内的内容清空,再重复步骤 2.1 和 2.2, 等 Configure 依次结束后,如果 cmake 的主界面仍有红色区域,则再次点击 Configure 进行配置,直到红色区域完全消失。 下图是 Configure 完成后的界面,红色消失,只剩白色的区域 2.2. opencv_contrib-master 找到 Name 下的 OPENCV_EXTRA_MODULES_PATH,为其设置 opencv_contrib-master 的路径 ,精确到 /modules 目录 再次点击 Configure 进行配置,可能需要 Configure 两三次之后,红色区域才能完全消失。 最后,点击 Generate,出现 “Generating done” 则意味着 cmake 的工作结束了。 2.3 VS 生成
2.3. Python 问题 因为电脑中装了 Python 3.6.,结果在下面步骤的 Debug 模式下,生成时出现了如下错误: 这是因为安装 python 时,并不会安装 debug 版本,于是,回到 python 安装界面,选择 debug 版本 如此,则可在 debug 模式下,顺利生成相应的库文件。 2.3. 生成库 进入到生成的 build 目录下,找到 OpenCV.sln,使用 VS 打开。 找到 INSTALL,分别在 Debug 和 Release 模式下,根据系统选择 x86 或 x64,右键 -> 生成 将 install 目录下生成的所有文件,拷贝到需要进行 OpenCV 配置的文件中 ( 位操作系统的会生成 x86 文件夹) VS 下的配置
) 环境变量 计算机 -> 属性 -> 高级系统设置 -> 环境变量,编辑系统变量里的 path 变量,为其添加变量值 D:\opencv\build\x64\vc14\bin ) 头文件和库文件 头文件: D:\opencv\build\include 库文件: D:\opencv\build\x64\vc14\lib ) 依赖项 生成的 lib 库,格式为 “opencv_modulename_version_d.lib”,带 "_d" 的对应 Debug 模式,不带的对应 Release 模式。 可根据程序的需要,添加相应的静态库。 例如,人脸识别时,用到 face 模块,可在依赖项中,添加 opencv_face330d.lib Qt 下的配置
) 环境变量   与 VS 的配置一样,添加 path 变量值 D:\opencv\build\x64\vc14\bin;   另外,不要忘记添加 Qt 的 path 变量值 D:\Qt\Qt5.9.3\5.9.\msvc2015\bin; ) 头文件和库文件   以简单的读图程序为例,需要在新建的 Qt 工程配置文件中,添加如下代码: LIBS += -L$$PWD/../../opencv/build/x64/vc14/lib/ -lopencv_highgui340d \
-lopencv_core340d \
-lopencv_imgproc340d \
-lopencv_imgcodecs340d INCLUDEPATH += $$PWD/../../opencv/build/include
 可根据具体的需要,适当添加新的库文件,比如,用于人脸识别的 opencv_face340d,深度神经网络 opencv_dnn340d 等等。 配置完成,尽情享受 OpenCV 的世界吧 ^_^ 参考资料
vs12 vs2013 下opencv3.0配置扩展模块 Icoding_F2014 更新记录
2017年05月09日: 升级为 Win 位系统,CMake 3.8.,OpenCV 3.2,Qt 5.8,结果在 “2.3 ) INSTALL 生成” 处卡了,生成不成功。 2017年10月12日: 升级为 Win10 位系统,CMake 3.10.,OpenCV 3.3,Qt 5.9.,生成并配置成功。 2017年12月26日: 升级为 OpenCV 3.4,Qt 5.9.,生成并配置成功。

Opencv 编译的更多相关文章

  1. 记录opencv编译过程

    准备学习opencv,参考了几个网页终于完成.编辑器和opencv版本都选择最新的版本. 记录过程如下 1. 下载准备: 1)         Opencv源码, 下载地址: https://sour ...

  2. OpenCV编译以及QT Creator配置

    OpenCV编译以及QT Creator配置 在进行编译前,需下载以下工具和源码: CMake ---- 用于编译: 下载地址; https://cmake.org/ 安装在D:\Program Fi ...

  3. OpenCV编译 Make出错 recipe for target 'modules/imgproc/CMakeFiles/opencv_test_imgproc.dir/all' failed

    OpenCV编译  Make出错 recipe for target 'modules/imgproc/CMakeFiles/opencv_test_imgproc.dir/all' failed 添 ...

  4. qt+opencv编译环境的配置

    第一步:安装与配置Qt 从https://account.qt.io/downloads下载Qt,并注册账户.开始安装.首先下载qt-opensource-windows-x86-mingw482_o ...

  5. opencv编译:The CXX compiler identification is unknown The C compiler identification is unknown

    opencv编译:The CXX compiler identification is unknown The C compiler identification is unknown 解决方法: F ...

  6. 我的复杂的OpenCV编译之路(OpenCV3.1.0 + VS2010 + Win7)

    教程:www.cnblogs.com/jliangqiu2016/p/5597501.html 这里主要记载我编译遇到的错误及解决方法. OpenCV3.1软件下载:https://sourcefor ...

  7. Ubuntu 下安装opencv 编译后执行找不到库

    在ubuntu下编译opencv程序后,执行报下面到错误:error while loading shared libraries: libopencv_core.so.2.4: cannot ope ...

  8. 机器学习笔记之三-yolov3+win7+vs2017+gpu+opencv编译

    1.环境安装 1.1 vs2017+cuda9.1+cudnn7.0可以和tensorflow一起安装网上教程多,不多说.       唯一需要注意的是vs2017要安装好2015版本的工具集v140 ...

  9. Windows10 + Visual Studio 2017 + CMake +OpenCV编译、开发环境配置及测试

    由于最近需要使用OpenCV,本人需要在自己的PC上使用OpenCV,因此最近一直在研究如何使用Visual Studio编译OpenCV源代码并搭建开发环境,折腾了很长时间,查阅了很多相关资料,终于 ...

  10. 由于C++类库版本不同导致的OpenCV编译链接错误

    太长不看版:GCC4和GCC5使用的C++标准库下,string的名字不一样,导致链接错误. 之前在Ubuntu下使用OpenCV的时候一切正常.后来再次编译的时候,连接器提示有些库函数找不到: ma ...

随机推荐

  1. BZOJ 3624 并查集 (Kruskal)

    思路: 先把所有能加上的水泥路都加上 判断哪些是必加的鹅卵石路 再重新做一遍最小生成树 加上必加的鹅卵石路 一直加鹅卵石路 判一下是不是=k 最后加上水泥路就好了 //By SiriusRen #in ...

  2. php.ini配置文件参数优化

    用于生产环境中的PHP需要对其进行优化,让PHP自身发挥更好的性能,除了写好PHP代码,还要配置好php-fpm以及php.ini调优.本文从内存.OPcache.上传.会话以及安全等方面讲解php. ...

  3. MVC、控件、一般处理程序中的session and cookie

    Mvc中: session: if (!string .IsNullOrEmpty(find)) //设置 Session["oip"] = "无锡"; Vie ...

  4. React router内是如何做到监听history改变的

    问题背景 今天面试的时候,被问到这么个问题.在html5的history情况下,pushstate和replacestate是无法触发pushstate的事件的,那么他是怎么做到正确的监听呢?我当时给 ...

  5. 用endnote导入bib

    首先一般时候需要把IEEE的style包导入. https://endnote.com/downloads/styles/ 具体方法可参考http://muchong.com/html/201006/ ...

  6. Hibernate框架学习(八)——查询-HQL语法

    一.单表查询 1.基础语法 2.排序 3.条件 4.分页 5.聚合 6.投影 二.多表查询 1.回顾原生SQL 1>交叉连接-笛卡尔积(避免)select * from A,B; 2>内连 ...

  7. python模拟登陆知乎

    ---恢复内容开始--- 在完成前面的阶段的任务之后,我们现在已经能够尝试着去模拟登录一些网站了.在这里我们模拟登录一下知乎做一下实验.笔者在这里总共用了三天多的时间,下面给大家分享一下笔者是怎么一步 ...

  8. .NET Datatable常用系列一

    Datatable常用系列一 一.用作集合存储数据: DataTable dt = new DataTable("action"); for (int i = 0; i < ...

  9. cache(缓存)的作用

    cache的作用: 连接文件.内存与应用,为信息流在三者之间流动提供通道: 存储管理:对外与对内: 存取效率: 多线程: 一次存储:分批存储? 系统的缓存控制机制(虚拟内存)使用分段分页与命中机制. ...

  10. linux yum安装找不到源

    1先说问题: 服务器装麒麟系统后安装gis地图(其实就是部署一套地图服务),因为是内网,所以所有需要的包都放在一个iso文件中了,需要用mount命令去加载之,然后配置*.repo文件(源文件配置), ...