apt-get install **安装opencv

1.前言
相比于源代码方式安装opencv,通过apt方式安装过程步骤简单些,消耗的时间也少一些。通过apt方式安装没有自动生成opencv.pc文件,所以在编写makefile文件时不能直接使用pkg-config工具,而需要逐个指定opencv_core、opencv_imgproc等动态链接库!

2.安装方法
更新ubtuntu系统软件源
sudo apt-get update
1
安装opencv
sudo apt-get install libcv-dev
1
这个安装过程大概需要几分钟,安装完成后得到如下结果 

3. opencv被安装在了哪里?
3.1 opencv的安装源文件
apt-get install **这样的命令会下载文件放在 /var/cache/apt/archives目录下,然后安装。可以看到,opencv相关的.deb文件都在该目录下;如下图所示,原始的/var/cache/apt/archives目录下只有文件夹partial和文件lock,但由于此时下载了opencv的相关安装文件,发现该文件夹下多个大量的deb安装文件! 


实际上,执行完以上的安装过程,这些archives路径下的文件是可以直接删除的!因为相关的安装已经结束,不再需要安装文件了

安装上面这种apt-get install的方式,会使得/var/cache/apt/archives这个目录所占空间会越来越大
但幸运的是apt提供了相应的管理工具apt-get clean来删除文件目录/var/cache/apt/archives/和文件目录 /var/cache/apt/archives/partial/下所有包(锁定的除外)。
执行举例: 
执行如下命令 
 
可以发现,刚刚下载的所有关于opencv的文件都被删除了 

3.2 opencv相关的头文件的安装位置
opencv相关的头文件被安装到/usr/lib目录中,该目录是linux默认头文件查找路径。

3.3 opencv的相关动态链接库的安装位置
linux下的动态链接库文件即.so文件

opencv的相关动态链接库被安装到/usr/lib目录中。这些动态链接库包括: 
【opencv_calib3d】——相机校准和三维重建 
【opencv_core】——核心模块,绘图和其他辅助功能 
【opencv_features2d】——二维特征检测 
【opencv_flann】——快速最邻近搜索 
【opencv_highgui】——GUI用户界面 
【opencv_imgproc】——图像处理 
【opencv_legacy】——废弃部分 
【opencv_ml】——机器学习模块 
【opencv_objdetect】——目标检测模块 
【opencv_ocl】——运用OpenCL加速的计算机视觉组件模块 
【opencv_video】——视频分析组件

下图是/usr/lib文件夹中与opencv相关的文件,例如,第一个和第二个文件分别为机器学习模块对应的静态态链接库文件(libopencv_ml.a)和动态链接库文件(libopencv_ml.so) 


3.4 linux下的opencv和windows下的opencv文件
windows下下载得到的opencv解压文件包含2个文件夹:source+build

source:opencv的源代码(opencv是开源的),下面的build文件夹下的各种库就是在这些源代码的基础上利用cMake得到的(实际上,该source文件夹除了可以编译得到下面的build中的动态链接库和静态链接库外,在实际调用opencv相关库时,并不需要!)
build:存放的opencv**预编译好的各种库(**DLL(动态链接库)和lib库(静态链接库)),对于使用opencv的使用者来说,只使用该文件夹就够了,不需要自己利用opencv的源代码重新编译得到这些库
linux下载得到的是.deb解压缩后也可以得到动态链接库和静态链接库

在ubuntu中, .so文件即为动态链接库文件,对应于windows下的dll文件 
在ubuntu中, .a文件对应于windows下的lib文件;实际上,该文件就是普通的函数通过编译之后得到(在高翔的SLAM教程第2章有一个关于如何编译得到静态链接库的简单小例子)

实际上,无论是在任何操作系统下,我们需要使用opencv的相关库时,使用的都仅仅是它的动态链接库和静态链接库

 

你可能感兴趣的:(菜鸡视觉摸鱼,Ubuntu,is,fucking,interesting!)