OpenCV 安装必看

怎样安装OpenCV套件呢?

想要使用opencv的同学一定是刚刚接触到图像处理,需要做一些实验,听说OpenCV很好用,所以就开始查找各种资料学习OpenCV但是,谁告诉你们它很好用的?是谁?首先不得不承认OpenCV确实是一个强大且具有一定影响力的开源项目。但是想要顺利的使用还是需要做一些功课的,今天就讲一些关于环境配置的坑,欢迎大家往坑里跳。

安装

首先我们今天的主题是安装环境,那么就让我们开始吧,我以前喜欢看别人的博客一步一步配置,这不失为一种不错的方法,但是,但是出了问题的时候很难顺利解决,我出现的问题题主一般都不会出现,所以题主并不会写我出现的各种问题,原因有很多,但是我总结到最后只有一个原因,对背后的流程和原理缺乏一定的认识。如果知道安装流程和背后的原理就可以着手解决这些问题了。
1. 安装之前一定要问自己一个问题,我的操作系统是什么?这一点很重要。主流操作系统windows、linux、mac都有OpenCV的支持,首先明确自己的目标,所以百度的时候第一个关键字就可以确定了,就是操作系统。
1. windows系统一般比较方便,官网有编译好的库,你只需要下载你对应的vs版本和其对应即可,有的同学说现在我的开发环境是vs2013但是最新版本的Opencv的编译好的库是支持VC14编译器的也就是我们的vs2015,那我又不想重装vs可以么?当然可以,这也是我写这篇文章的目的所在,一旦你不想做一个拿来主义的人那就意味着你得多付出一点,这个时候的解决办法就是下载官网的源代码文件,然后自己根据不同的编程环境版本编译成自己需要的库样式。windows下编译你需要下载一个工具Cmake,这个工具你理解成安装源码文件成为库文件的一个工具就可以了。这个时候你可以这样在搜索引擎里设置关键字:Opencv 源码 cmake 就会出现很多类似的文章,你可以根据文章安装vs各个版本的库,codeblocks的库等等。读一读你就知道怎么进行源码安装了。
后面补充:在大量的源码框架中我们通常用make这个工具进行项目的编译和连接操作,但是当工程很大时写makefile也是一件头痛的事,所以就出现了cmake这样的工具,我们可以在Cmakelist.txt 中根据cmake特定的语言去设定基本的条件参数,然后cmake会自动生成makefile,这样给我的工程编译带来了极大的便捷。
2. linux linux环境下是需要我们自己编译安装的,没有现成的库,因为linux稍微复杂一点,所以需要做很多准备工作和后期工作,准备工作包括OpenCV依赖的库的安装和工具安装。我在这里不详细介绍,因为这篇文章的意义就是要告诉大家整个安装流程和出现问题怎么解决。这个时候你可以在搜索引擎里搜索 linux opencv 这样的关键字组合就可以查到很多高质量文章,照着做一遍就差不多了。后期工作主要是动态链接库的更新工作,这里上面的教程后面一般都会介绍。
2. 第二个问题就是:我的开发环境是什么?有人用Visual studio 有人用codeblocks,有人不用IDE自己写makefile,那么都是怎么进行工作的呢,事实上vs和codeblocks的性质是一样的即IDE,安装OpenCV的时候需要编译成和IDE相互匹配的版本就可以了,后面使用的时候设置include路径和lib路径,这里可以搜索这样的关键词:VS2015 opencv 配置,就会有高水平文章告诉你如何设置include路径和lib路径。比较困难的是linux环境下的使用,如果你是在linux下使用的,且不借助codeblocks等ide你需要学习基本的linux环境下C/C++编程的知识,例如gcc、gdb的使用,还有一些基本的linux管理常识,环境变量的设置等等知识。因为本文只是告诉大家安装Opencv并使用的流程,具体的细节我只想告诉大家去按照我给的关键字去查找即可。本文是一篇概括性文章,不讨论技术细节。
3. 最后我要说说自己编译安装的时候会出现哪些比较显著的问题。
1. 我认为这个比较严重,就是关于3rdparty,3rdparty是源码目录下的一个文件夹,这个文件夹内有很多其它文件夹,3rdparty这个模块是用来安装第三方库的,例如图像显示的jpg库png库,视频相关的mmpeg库等等。因为每个人的系统是不一样的,所以在安装这个模块的时候不能直接安装,因为不同系统的库是有差别的,所以我猜开发Opencv 的人员为了避免这个问题采取了现在的这种方式,他在里面写了一些代码判断系统,然后到晚上自动下载和系统匹配的库进行安装,问题就在这里,有些时候网络原因并不能下载成功,所以就出现了安装错误的结果。其中mmpeg和ippicv这两个最容易出现问题。
这里的解决方案就是提前下载好对应的库文件放到源文件夹的download中,这样就不会自动下载了。
下载地址 这里可以下载第三方库文件

你可能感兴趣的:(图像处理,C++,OpenCV)