Linux下安装OpenCV+Python支持

时间:2022-08-09 06:02:20

  以下说明在Linux下Python和OpenCV结合安装的过程,Python要使用OpenCV模块,则必须导入OpenCV提供的包,所以要提供Python支持,首先在安装OpenCV前安装必要的组件,一般列表如下:

  1、gcc g++一般系统自带

  2、cmake 编译OpenCV时使用,需要手动安装

  3、pkg-config命令,一般系统自带,如果缺少,使用 yum -y install pkg-config 安装

  4、Python 2.x,系统自带

  5、NumPy 一个用于大型矩阵处理的库,这个必须!如果不安装则后面OpenCV安装后也编译不出来Python的模块,其他库可以后来安装

  最后一步是安装OpenCV

  在保证前4项没问题的情况下,开始安装NumPy模块,官网下载地址为:http://www.scipy.org/scipylib/download.html

  Linux下安装OpenCV+Python支持

  进入SourceForge下载,地址为:https://sourceforge.net/projects/numpy/

  Linux下安装OpenCV+Python支持

  直接点击Download即可下载,下载成功之后上传到Linux服务器,安装过程很简单,解压后直接安装即可(之前要确保python-devel已经安装)

unzip numpy-1.11.1.zip
cd numpy
-1.11.1/
python setup.py
install

  另外numpy还可以去python官网下载:https://pypi.python.org/pypi/numpy

      安装成功之后接下来进一步安装OpenCV,官方网站为:http://opencv.org/进入后点击DOWNLOADS来到下载界面:http://opencv.org/downloads.html,这里下载2.4.13的版本

  Linux下安装OpenCV+Python支持

  下载完之后上传到Linux,执行接下来的安装:

unzip opencv-2.4.13.zip
cd opencv
-2.4.13/
cmake
-D WITH_GTK_2_X=ON -D CMAKE_INSTALL_PREFIX=/usr/local .
make # make -j4表示开4个线程来进行编译
make install

  安装过程时间可能会有点长10~30分钟左右,编译完成之后OpenCV就安装到了指定的/usr/local下面的一些目录中,库文件就安装到了/usr/local/lib下,Python的模块安装位置是:/usr/local/lib/python2.7/site-packages,执行 ls /usr/local/lib/python2.7/site-packages/ 可以看到两个文件,一个是cv2.so一个是cv.py

  Linux下安装OpenCV+Python支持

  这两个文件在刚才opencv-2.4.13编译的目录下面lib/下也存在着两个python模块文件,但是不幸的是现在并不能直接使用,原因是我们操作系统python依赖包的位置是/usr/lib/python2.7下,所以刚才如果编译到/usr下是直接可以用的,不过这个也不重要,只要我们将这两个文件复制到正确的目录下,那么就能正常使用OpenCV的功能了,执行: cp /usr/local/lib/python2.7/site-packages/cv* /usr/lib/python2.7/site-packages/ 复制过去之后进入python交互式界面执行 import cv2 没有报错则安装成功

  可以写一个测试的小案例,在服务器上有一张图片是test.jpg现在简单的使用cv2模块解析成图像矩阵,然后再写入磁盘文件中,代码如下:

#!/usr/bin/python
#
-*- coding:utf-8 -*-
import cv2
image
= cv2.imread("test.jpg")
print image
cv2.imwrite(
"test1.jpg",image)

  这里将原有的test.jpg生成test1.jpg,

  Linux下安装OpenCV+Python支持

  执行 python cvtest.py 执行完后会发现输出好多矩阵变量,并且生成了test1.jpg文件

  Linux下安装OpenCV+Python支持

  生成的文件有可能比原文件大也有可能小,具体根据图像来决定,现在查看一下图片内容,和之前是一样的

  Linux下安装OpenCV+Python支持