一个类库的安装总是一件很恼人的事情,如果对于整个过程中的各个步骤的意义不是了然于胸的话。掰开来讲无非也就是三步:
1.下载编译源代码,使得磁盘中存在所需要的头文件和库文件
2.添加PATH,使得程序知道从哪里找到你引用的头文件
3.使用它。
opencv的安装在windows上究竟是怎么一回事,其实我到现在还没怎么搞清楚。幸而Linux这个过程由于清晰,每一步都需要自己来,反而显得更简单一些。下面我来讲解一下。
1.下载源代码
这个到官网即可。opencv是开源的。根据所在的平台选择要下载的版本……当然这里我要讲的是下载源代码在linux编译使用。
下载到的是.zip文件,我将其解压在了/usr/local目录。该目录通常用于本地管理员自行添加安装在系统中的程序。
2.编译
很多源代码下载下来是通过make文件来编译执行的,在那之前往往还要通过configure文件来检查系统配置来生成makefile文件。而opencv使用cmake来组织自己的代码。所以首先需要安装cmake才能继续整个过程。cmake是一个类似make但功能更丰富的软件,通过它能完成原来用configure完成的工作,生成makefile文件。
像我使用的是Ubuntu发行版,只需sudo apt-get install cmake 就能完成安装。其他使用apt或者yum的发行版也都类似。
/usr/local/opencv-2.4.8(或者是你下载到的其它版本号,总之是刚刚解压出来的文件夹)目录下,执行sudo cmake . (注意最后面有一个".",表示在当前目录下执行cmake)。一般而言,这个时候你会发现,跳出了一大堆的not found.表示有相当多的依赖类库还没有安装.
如何解决这个问题?opencv的documentation上有列举了它需要的依赖类库,或者看cmake给出的错误提示也能获得这个列表.
sudo apt-get install build-essential libgtk2.0-dev libjpeg-dev libtiff4-dev libjasper-dev libopenexr-dev cmake python-dev python-numpy python-tk libtbb-dev libeigen2-dev yasm libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev libqt4-dev libqt4-opengl-dev sphinx-common texlive-latex-extra libv4l-dev libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev
通过运行上面这个命令,基本能解决依赖的问题.
之后再执行sudo cmake . 就能生成makefile文件.
在同一目录下运行sudo make && sudo make install