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文件下.
安装过程
- 下载材料:
- opencv 2.4.9 :http://opencv.org/
- ffmpeg-3.0: http://7xrm1d.com1.z0.glb.clouddn.com/ffmpeg-3.0.tar.bz2
- 安装过程:
步骤一:卸载任何以前安装的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基本安装成功,接下来我们测试一下:
测试
- 在某个目录下建立一个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
可以编译过去,说明安装成功.
参考文献:
- Install OpenCV-Python in Fedora
- openCV python 安装
- Ubuntu 14.04下OpenCV 3.0+Python 2.7安装测试
- ubuntu14.04中安装opencv2.4.10
- Ubuntu 14.04, 13.10 下安装 OpenCV 2.4.9
- Linux 下编译安装OpenCV
- ubuntu15.10下安装opencv2.4.9&python上调用opencv库
- ubuntu15.10下安装openCV2.4.13
- 1 ubuntu下编译安装opencv2详细教程以及python调用opencv方法
- Ubuntu15.10下安装Docker
- Linux下: Eclipse安装配置OpenCV2.1,用C++调用OpenCV过程 及 测试实例
- Linux下Eclipse安装配置OpenCV2.4.8,用C++调用OpenCV及测试实例
- ubuntu15.10下Snort安装及配置
- ubuntu15.10下安装chrome浏览器
- ubuntu15.10 下refind的安装
- ubuntu15.10下安装flashplayer插件
- 新手在windows7下安装ubuntu15.10
- Ubuntu15.10 下安装Oracle 11g
- ubuntu15.10下安装hadoop2.7.2
- Ubuntu下安装Opencv2.4.9 及实现python接口
- Ubuntu13.10下编译安装opencv2.4.9
- Opencv安装(vs2010 和 Opencv2.4.9)
- Linux下编译安装OpenCV(基于C++,生成so库供python调用)
- linux下安装opencv2.4.9
- javascript中,函数的声明与表达式
- 用Source Insight追踪Arduino的setup和loop
- Delphi 10 Seattle 编译DevExpress VCl 14.x版本源码的问题
- Unity3D 5 官方教程:标准着色器
- C—整数与浮点数笔记
- ubuntu15.10下安装opencv2.4.9&python上调用opencv库
- 基因数据处理7之BWA_MEM运行太长
- CodeForces 628BNew Skateboard-数学水题
- 最小乘积
- ubuntu 15.10下cmake 的安装
- BestCoder Round #75
- 使用cout标准输出如何控制小数点后位数
- codeforces 630G Challenge Pennants(组合数学)
- Machine Learning - Neural Networks Representation Part I