opencv是一个机器视觉的库,而python是一种编程工具,在ubuntu下利用python编程时会调用opencv中的库,下面就来详细讲解如何在ubuntu中下载opencv,并且将其与python配置接口。
一、首先,下载opencv2.4.9,然后提取(解压)到home下(当然也可以解压到别的地方,只不过我习惯将文件解压到home下)。
二、1依赖包安装, build-essential 软件包,为编译程序提供必需软件包的列表信息,这样软件包才知道头文件、库函数在哪里。还会下载依赖的软件包,安装gcc/g++/gdb/make 等基本编程工具,最后才组成一个开发环境。在终端输入命令,sudo apt-get install build-essential。
2下面依赖关系主要是为了能够支持读写图片以及视频sudo apt-get install libgtk2.0-dev libavcodec-dev libavformat-dev libtiff4-dev libswscale-dev libjasper-dev。
3安装cmake,sudo apt-get install cmake
4安装pkg-config,它是一个提供从源代码中编译软件时查询已安装的库时使用的统一接口的计算机软件sudo apt-get install pkg-config。
三、编译安装过程,使用cmake来检测编译环境以及生成makefile以及其他project信息,在使用cmake过程可以设置一些参数。在本目录下使用cmake,注意后面的点表示在当前目录下寻找CMakeLists.txt。
首先进入当前opencv所在目录,cd /home/zhu/opencv2.4.9,然后创建一个新的文件夹,mkdir release,最后写入位置信息cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
使用make编译;
使用make install 安装 sudo make install
四、上面的过程基本上完成了opencv的安装。但是并不能够马上用它,opencv还包含很多动态链接库。你可以在文件/etc/ld.so.conf中添加 /usr/local/lib(这个跟安装目录有关, {CMAKE_INSTALL_PREFIX}/lib),也可以在/etc/ld.so.conf.d 目录下增加一个conf文件(可以命名为 opencv.conf),同样添加 /usr/local/lib,我们不妨使用第一种方法,当我们打开、/etc/ld.so.conf文件时,发现它的属性为只读,也就是说在没有获得权限的条件下,用户没法添加语句进行编辑,为此,我们可以在终端上输入命令,sudo chmod 666 /etc/ld.so.conf改变文件属性,也就是将原来的只读文件改为允许所有用户对该文件进行读写操作,这样我们就可以添加/usr/local/lib了。接下来使用sudo ldconfig -v动态库管理命令ldconfig,让opencv的相关链接库被系统共享。完成了动态库的共享,还不能使用opencv来编程,还需要为程序指定openvc的头文件位置。这里使用pkg-config命令来完成。首先在 /etc/profile 中添加export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig 。
五、测试
1. 在解压的opencv目录下找到 samples/c/build_all.sh,运行该文件,./build_all.sh
2.找其中一个来运行看一下效果,例如 find_obj程序:
3.运行的效果
六、python与opencv的接口配置。
ubuntu16.04中自带python2.7和python3.5,省去了我们自己下载,在安装完Opencv后,我们安装安装Python-opencv,
sudo apt-get install python-opencv