资源

  • Homepage: http://opencv.org
  • Docs: http://docs.opencv.org/master/
  • Q&A forum: http://answers.opencv.org
  • Issue tracking: https://github.com/opencv/opencv/issues
  • GitHub:https://github.com/opencv/opencv
  • Sourceforge:https://sourceforge.net/projects/opencvlibrary

从官网、GitHub、Sourceforge我们均能下载到OpenCV的源代码。

安装

下面介绍几种常见的安装:

使用VS2015

直接在官网http://opencv.org/releases.html上可以下载到生成好的安装包。
以windows为例,下载win pack,最新版本是opencv-3.2.0-vc14.exe(即OpenCV3.2+VS2015开发)。下载完成后直接运行即可,在build子目录下可以找到所需的头文件opencv.hpp,导入库文件opencv_world320.lib,动态链接库opencv_world320.dll。不过用从下图的depends依赖中可以发现是需要VS2015开发环境的,大家可以从微软的官网或各种资源网上下载到完全免费的VS社区版(微软早该拥抱开源了)。

使用MinGW

MinGW是Minimalist GNU on Windows的缩写,是在windows上实现了linux的头文件包含的接口功能,方便使用GNU工具开发程序,包括gcc、gdb、make。另外cygwin也是在windows上模拟linux开发环境,但是体积比较庞大。MinGW突出一个Min小的意思。可以到MinGW官网http://www.mingw.org/上下载最新的版本。

因为我之前基于QT开发界面已经安装了QT5,所以已经附带了MinGW工具包,可在QT的安装目录下搜索gcc.exe定位到MinGW所在目录。例如我电脑上的是D:\Qt\Qt5.7.0\Tools\mingw530_32\bin\gcc.exe。

此外自定义编译OpenCV还需要一样工具就是CMake。CMake是”cross platform make”的缩写,是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。CMake 的组态档取名为 CmakeLists.txt。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。可以到CMake官网https://cmake.org/上下载最新的版本。

准备工作如下:
- 下载OpenCV3最新源代码:git clone https://github.com/opencv/opencv.git
- 下载MinGW工具包,并将bin目录添加到环境变量path中
- 下载CMake工具包

编译步骤如下:
1、运行cmake-gui.exe,设置源码目录(下文用OPENCV_SRC表示)和生成目录(下文用OPENCV_BUILD表示)
2、勾选上Grouped、Advanced,单击Configure按钮,选择MinGW makefiles,勾选Specify native compilers,如下图所示:

3、设置C、C++编译器,如下所示:

4、点击Finish按钮后,开始配置,配置完成后如下图所示:

5、选择需要编译的模块,一般默认即可,有一个有用的选项是在BUILD下BUILD_opencv_world选项,能够将所有的库集成到一个opencv_world中,省去了使用时添加许多模块库的麻烦。选中了这项后,编译OPENCV不再会生成core,highgui等等这些单独的库对应的lib及dll文件。

6、单击Generate生成makefile文件,完成后如下图所示,并且在OPENCV_BUILD目录下可以看到已经生成了Makefile文件

7、打开cmd命令提示符,cd到OPENCV_BUILD目录(即Makefile文件所在目录),输入mingw32-make命令,开始编译

编译需要花费半小时左右,没有错误编译完成如下图:

到OPENCV_BUILD/bin目录可以发现已经生成了所需的libopencv_world320.dll以及lib目录下的libopencv_world320.dll.a。如果之前没有勾选BUILD_opencv_world选项,则会生成下面的各个分模块:

这是没有设置BUILD_opencv_world选项生成的

8、输入mingw32-make install命令,开始安装

安装后在OPENCV_BUILD/bin目录下会生成一个install目录,里面包含了整合的头文件、导入库文件、动态库文件。

9、我这里直接将编译生成好的OpenCV库上传到我的资源中,编不过的小伙伴可以前往下载http://download.csdn.net/detail/gg_simida/9835576,里面包含了可用于VS2015开发或者使用MinGW(例如QT)进行开发的生成库。

另外如果有小伙伴迷路的,欢迎到评论区留言,乐意一起探讨解决。

OpenCV学习笔记--下载和安装相关推荐

  1. Opencv学习笔记1:安装opencv和VS2015并进行环境配置

    用了Opencv一段时间了,简单记录一下opencv在vs2015下的配置. 第一部分:OpenCV3.2.0的下载 OpenCV官方下载地址: https://opencv.org/releases ...

  2. APPCAN学习笔记005---AppCan IDE安装下载,AppCan IDE启动

    APPCAN学习笔记005---AppCan IDE安装下载,AppCan IDE启动 创梦技术交流平台:资源下载,技术交流,网络赚钱: 交流qq群:1群:248318056 2群:251572072 ...

  3. OpenCV学习笔记(五十六)——InputArray和OutputArray的那些事core OpenCV学习笔记(五十七)——在同一窗口显示多幅图片 OpenCV学习笔记(五十八)——读《Mast

    OpenCV学习笔记(五十六)--InputArray和OutputArray的那些事core 看过OpenCV源代码的朋友,肯定都知道很多函数的接口都是InputArray或者OutputArray ...

  4. OpenCV学习笔记(四十一)——再看基础数据结构core OpenCV学习笔记(四十二)——Mat数据操作之普通青年、文艺青年、暴力青年 OpenCV学习笔记(四十三)——存取像素值操作汇总co

    OpenCV学习笔记(四十一)--再看基础数据结构core 记得我在OpenCV学习笔记(四)--新版本的数据结构core里面讲过新版本的数据结构了,可是我再看这部分的时候,我发现我当时实在是看得太马 ...

  5. OpenCV学习笔记(三十一)——让demo在他人电脑跑起来 OpenCV学习笔记(三十二)——制作静态库的demo,没有dll也能hold住 OpenCV学习笔记(三十三)——用haar特征训练自己

    OpenCV学习笔记(三十一)--让demo在他人电脑跑起来 这一节的内容感觉比较土鳖.这从来就是一个老生常谈的问题.学MFC的时候就知道这个事情了,那时候记得老师强调多次,如果写的demo想在人家那 ...

  6. OpenCV学习笔记(二十一)——绘图函数core OpenCV学习笔记(二十二)——粒子滤波跟踪方法 OpenCV学习笔记(二十三)——OpenCV的GUI之凤凰涅槃Qt OpenCV学习笔记(二十

    OpenCV学习笔记(二十一)--绘图函数core 在图像中,我们经常想要在图像中做一些标识记号,这就需要绘图函数.OpenCV虽然没有太优秀的GUI,但在绘图方面还是做得很完整的.这里就介绍一下相关 ...

  7. OpenCV学习笔记(一)(二)(三)(四)(五)

    OpenCV学习笔记(一) 决心开始研究OpenCV.闲言少叙,sourceforge网站最近的版本是2011年8月的OpenCV2.3.1,下载安装,我这里使用的开发环境是vs2008,网上搜了一下 ...

  8. STM32F103CUBE学习笔记 一 环境安装

    STM32F103CUBE学习笔记一 stm32cubemx安装 jre安装 stm32cubemx安装 stm32cubemx创建工程 准备工作 配置时钟 KEIL PACK安装 keil安装 st ...

  9. OpenCV学习笔记(五十一)——imge stitching图像拼接stitching OpenCV学习笔记(五十二)——号外:OpenCV 2.4.1 又出来了。。。。。 OpenCV学习笔记(五

    OpenCV学习笔记(五十一)--imge stitching图像拼接stitching stitching是OpenCV2.4.0一个新模块,功能是实现图像拼接,所有的相关函数都被封装在Stitch ...

最新文章

  1. c int转字符串_【C++实现python字符串函数库】字符串匹配函数startswith与endswith
  2. 11.2.7 练习题
  3. atom 代码都是白色 怎么显示颜色_IBC1.0完成,ATOM为什么没涨?
  4. 今日代码(200924)--缺失值处理
  5. 【安卓开发 】Android初级开发(六)Activity生命周期
  6. (需求实战_03)_shell脚本 sftp协议下载文件
  7. [机器学习-sklearn] KNN(k近邻法)学习与总结
  8. 将Myeclipse非maven项目,导入到IDEA
  9. 知方可补不足~UPDLOCK更新锁的使用
  10. 计算机鼠标是怎么工作的,嚣张的数字生活指南 篇一:罗技G604上手谈,多侧键鼠标会怎样提升我们的工作效率...
  11. 华为海思芯片自立自强!
  12. c++采集声卡输出_windows上面捕获声卡数据
  13. 利用ace.js编写一个JavaScript编辑器(带智能补全)
  14. 简单了解冯·诺依曼体系结构
  15. 【Java】抽象类和接口的区别
  16. 【VS】VS Code安装、配置、使用(windows10 64)
  17. thingsboard 编译及分析
  18. 学习OpenCV3:Cmake+MinGW编译OpenCV
  19. rospy.init_node(‘talker_node‘, anonymous=True)中anonymous意思
  20. 《微服务系列:Eureka服务注册发现中心》

热门文章

  1. 图像去雾,利用《bringing old photos back to life》 训练并修改
  2. 加字邮票价格_中华人民共和国邮票(加字改值邮票)
  3. 程序员常用的网站合集
  4. 【Markdown】编辑器使用技巧大汇总3。省略号的表示,常见希腊字母($\lambda$ 等),常见数学符号($\times$ 等),三角函数表示符号,微积分表示符号,逻辑运算符(因为所以)
  5. 样本方差为什么要除n-1,而不是n
  6. 栈的初始化,入栈和出栈
  7. MIUI系统获取短信权限问题
  8. onlyoffice协同编辑(多人共享编辑)、在线文档编辑,支持word、excel
  9. Apsara Clouder云计算专项技能认证考试题目和答案
  10. Trove系列(二)—Trove 的架构和流程介绍