ubuntu15.10下安装opencv2.4.9&python上调用opencv库

来源:互联网 发布:人工智能硬件有哪些 编辑:程序博客网 时间:2024/05/17 01:59

opencv版本选择

前几天花了一天时间整ubuntu下的opencv安装,可是总是出现各种各样的问题。在网上查资料,可是都是碎片化的资料,加之自己英文不是很好,有时候不是很清楚有些人的解决方法,于是就只能各种尝试。原先想装opencv3.1.0,可是总是装不成功,经常卡在cmake处就中断了。后来想想自己在windows下装的也是opencv2.4.9,就想是不是版本的问题呢?于是换成2.4.9,几乎没出什么问题,就装成功了。幸福之余,我想把自己的安装过程总结下来,希望分享给大家。所以明确一点,我们这里装的版本是 OpenCV2.4.9.
PS: 最好不要把opencv2.4.9解压到共享内存中去,否则可能会出错。我是将其解压到了home文件下.

安装过程

  1. 下载材料:
    • opencv 2.4.9 :http://opencv.org/
    • ffmpeg-3.0: http://7xrm1d.com1.z0.glb.clouddn.com/ffmpeg-3.0.tar.bz2
  2. 安装过程:
    步骤一:卸载任何以前安装的ffmpeg和x264软件
 sudo apt-get -qq remove ffmpeg x264 libx264-dev

步骤二:解压下载好的opencv

unzip opencv-2.4.9.zip

步骤三:安装ffmpeg

安装方法,请参考:《 ubuntu14.04安装ffmpeg》

步骤四:安装OpenCV所需的库(编译器、必须库、可选库)

GCC 4.4.x or later
CMake 2.6 or higher
Git
GTK+2.x or higher, including headers (libgtk2.0-dev)
pkg-config
Python 2.6 or later and Numpy 1.5 or later with developer packages (python-dev, python-numpy)
ffmpeg or libav development packages: libavcodec-dev, libavformat-dev, libswscale-dev
[optional] libtbb2 libtbb-dev
[optional] libdc1394 2.x
[optional] libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev
[compiler] sudo apt-get install build-essential
[required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
[optional] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

[compiler] sudo apt-get install build-essential[required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev[optional] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

步骤五:进入源码目录

 cd opencv-2.4.9

步骤六:进入源码目录的cmake目录

 cd cmake

步骤七:cmake编译生成Makefile

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..  

cmake会进行很长时间,大概有10几分钟。cmake完后出现如下界面:

步骤八:编译,并安装

sudo make install  

注意:安装的所有的lib文件都会被安装到/usr/local目录
例如:后面python必须的opencv库来自于:/usr/local/lib/python2.7/site-packages/cv2.so

至此opencv基本安装成功,接下来我们测试一下:

测试

  1. 在某个目录下建立一个test.cpp文件
#include <cv.h>#include <highgui.h>using namespace cv;int main(int argc, char* argv[]) {    Mat image;    image = imread(argv[1], 1);    if (argc != 2 || !image.data) {        printf("No image data\n");        return -1;    }    namedWindow("Display Image", CV_WINDOW_AUTOSIZE);    imshow("Display Image", image);    waitKey(0);    return 0;}

2.同目录,新建一个文件CMakeLists.txt,写入如下内容

project(test)  find_package(OpenCV REQUIRED)  add_executable(test test)  target_link_libraries(test ${OpenCV_LIBS})  cmake_minimum_required(VERSION 2.8)

3.编译成可执行文件

  cmake .  make

4.随便弄个jpg图片做个测试,注意要和上面那个可执行文件放在同一目录下面,我这里名字取的是test.jpg。

5.进入test.cpp目录中,键入

 ./test   test.jpg    

如果能看到照片,那就表示成功了。

安装python

因为在python中使用opencv会使用到很多科学运算库,为此我安装了anaconda python
地址:https://www.continuum.io/downloads
里面包含了python 2.7 和python 3.5,一般我们选择python 2.7。下载下来,
在其下载目录下,键入:

bash Anaconda2-2.5.0-Linux-x86_64.sh

安装成功。里面包含了我们所有的几乎所有库,包括numpy,matplotlib等

将opencv编译后的python库加入python路径中

你可以在python终端键入:

import sys;print sys.path

它将输出许多地址,然后将

/usr/local/lib/python2.7/site-packages/cv2.so

移动到以上任意一个目录下,我此刻移到了 ./home/anaconda2/lib 里面.

安装python-opencv

可直接使用apt安装

sudo apt-get install python-opencvsudo apt-get install python-numpy

测试:

打开python,import cv2模块成功即可。

import cv2

可以编译过去,说明安装成功.

参考文献:

  1. Install OpenCV-Python in Fedora
  2. openCV python 安装
  3. Ubuntu 14.04下OpenCV 3.0+Python 2.7安装测试
  4. ubuntu14.04中安装opencv2.4.10
  5. Ubuntu 14.04, 13.10 下安装 OpenCV 2.4.9
  6. Linux 下编译安装OpenCV
0 0
原创粉丝点击