Ubuntu,如何为python3安装OpenCV?

时间:2016-05-12 13:37:39

标签: python opencv ubuntu

我想在ubuntu 16.04中为python3安装OpenCV。拳头我尝试运行sudo apt-get install python3-opencv这就是我几乎安装所有python软件的方法。这找不到存储库。安装确实有效但是如果我这样做sudo apt-get install python-opencv这个问题就是不通过添加三个python它安装python 2我不使用。我真的不需要从源代码构建和安装,所以有没有办法获得存储库?我也尝试用pip3安装它,它也找不到它。

9 个答案:

答案 0 :(得分:42)

这将是一个冗长的答案,所以让我们开始吧:

第1步:安装先决条件: 升级任何预安装的软件包:

$ sudo apt-get update
$ sudo apt-get upgrade

安装用于编译OpenCV 3.0的开发人员工具:

$ sudo apt-get install build-essential cmake git pkg-config

安装用于从磁盘读取各种图像和视频格式的库和包:

$ sudo apt-get install libjpeg8-dev libtiff5-dev libpng-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev

安装GTK,以便我们可以使用OpenCV的GUI功能:

$ sudo apt-get install libgtk2.0-dev

安装用于优化OpenCV内各种功能的包,例如矩阵操作:

$ sudo apt-get install libatlas-base-dev gfortran

第2步:设置Python(第1部分)

让我们下载为Python 3安装的Python包管理器pip:

$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python3 get-pip.py

让我们使用我们的新pip3安装来设置virtualenv和virtualenvwrapper:

$ sudo pip3 install virtualenv virtualenvwrapper

现在我们可以更新〜/ .bashrc文件(放在文件底部):

# virtualenv and virtualenvwrapper
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
$ source ~/.bashrc
$ mkvirtualenv cv

第2步:设置Python(第2部分)

我们需要安装Python 3.4+标头和开发文件:

$ sudo apt-get install python3.4-dev

OpenCV将图像表示为NumPy阵列,因此我们需要将NumPy安装到我们的cv虚拟环境中:

$ pip install numpy

步骤3:使用Python 3.4+绑定构建和安装OpenCV 3.0

$ cd ~
$ git clone https://github.com/opencv/opencv.git
$ cd opencv
$ git checkout 3.0.0
$ cd ~
$ git clone https://github.com/opencv/opencv_contrib.git
$ cd opencv_contrib
$ git checkout 3.0.0

设置构建的时间:

$ cd ~/opencv
$ mkdir build
$ cd build
$ cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D INSTALL_C_EXAMPLES=ON \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
    -D BUILD_EXAMPLES=ON ..

让我们开始OpenCV编译过程:

$ make -j4

假设OpenCV 3.0编译时没有错误,您现在可以在系统上安装它:

$ sudo make install
$ sudo ldconfig

第4步:Sym-link OpenCV 3.0

如果您已完成此步骤,则现在应在/usr/local/lib/python3.4/site-packages/中安装OpenCV 3.0。

在这里,我们的OpenCV绑定存储在名称cv2.cpython-34m.so

但是,为了在我们的cv虚拟环境中使用OpenCV 3.0,我们首先需要将OpenCV sym链接到cv环境的site-packages目录,如下所示:(请务必注意{{1} })

cv2.cpython-34m.so

注意我是如何将名称从cv2.cpython-34m.so更改为cv2.so - 这样Python就可以使用名称cv2导入我们的OpenCV绑定。

第5步:测试OpenCV 3.0和Python 3.4+安装

$ cd ~/.virtualenvs/cv/lib/python3.4/site-packages/
$ ln -s /usr/local/lib/python3.4/site-packages/cv2.cpython-34m.so cv2.so

希望有所帮助。此外,他的post还记得Adrian Rosebrock。它对我来说是一种魅力。

答案 1 :(得分:38)

我发现了这个:

https://pypi.python.org/pypi/opencv-python

车轮上的OpenCV

  

' Python的非官方OpenCV包。'

Ubuntu 16.04的安装非常轻松

pip3 install opencv-python

检查安装

python3
Python 3.5.2 (default, Nov 17 2016, 17:05:23) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'3.2.0'

不确定为什么没有提到这一点。也许它是新推出的?

答案 2 :(得分:3)

在python3环境中使用conda:

首先在python3环境中安装conda并激活它,如果你还没有:

var paymentPromise = Payments.find({ 'paidby': req.user.username }).sort('-date').exec();
var productPromise = Products.find({ 'username': req.user.username }).sort('-date').exec();

Promise.all([paymentPromise, productPromise]).then(
    docs => {
        let paymentDocs = docs[0];
        let productDocs = docs[1];

        res.render('profile', {
            title: 'Your Products',
            products: productDoc,
            payment: paymentDocs,
            firstname: req.user.firstName,
            lastname: req.user.lastName,
            email: req.user.email,
            username: req.user.username,
        });
    }
);

现在您可以在conda环境中安装opencv:

conda create --name py3k python=3
source activate py3k

要在Python中导入:

pip install pillow
conda install -c menpo opencv3=3.1.0

答案 3 :(得分:1)

这是因为您的机器中有多个python安装。您应该将python3设为默认值,因为默认情况下是python2.7

答案 4 :(得分:1)

假设您安装了Python3.x,我使用以下方法解决了该问题:

1:在Ubuntu上安装OpenCV所需的辅助软件包(仅对Ubuntu 16.04进行了验证):

apt-get update
apt-get install -y libglib2.0.0 libsm6
apt-get install libxext6
apt-get install -y libxrender-dev

2:在python3.x上安装OpenCV:

pip3 install opencv-contrib-python

答案 5 :(得分:1)

ubuntu 18.04后使用

sudo apt install python3-opencv

小心,自动启动 Anaconda 环境可能会覆盖正常的 apt 安装,我花了几个小时才找到。把它放在这里,以防像我这样的新手发现它不起作用。

答案 6 :(得分:0)

sudo pip3 install opencv-python opencv-contrib-python

答案 7 :(得分:0)

功劳归功于对Ubuntu 16.04正确的正确答案,但是在Ubuntu 18.04及更高版本中,可以使用以下命令从默认Ubuntu存储库中安装OpenCV(开放计算机视觉)库的Python 3绑定:

sudo apt install python3-opencv  

开放计算机视觉库是针对各种计算机视觉问题的算法和示例代码的集合。该库与IPL(英特尔的图像处理库)兼容,并且如果可用,可以使用IPP(英特尔的集成性能基元)来获得更好的性能。

答案 8 :(得分:0)

流行的建议解决方案对我来说是奇迹,其中opencv的sudo apt install无法正确安装。关于步骤4的另一条注释(这可能使其他人的生活更轻松)。现在看来很简单,但是花了我不少时间进行故障排除(因为我是新来的)。

步骤4a:运行以下代码以查找cv2文件的安装位置。您的文件名可能也略有不同。只是因为您无法在OP所说的位置找到它,所以这并不意味着安装无法正常工作。

> $ find /usr/ -iname cv2.*
> /usr/lib/python3/dist-packages/cv2.cpython-38-x86_64-linux-gnu.so

步骤4b:如上所述的SymLink OpenCV 3.0

> $ cd ~/anaconda3/virtualenv/lib/python3.8/site-packages/
> $ ln -s /usr/lib/python3/dist-packages/cv2.cpython-38-x86_64-linux-gnu.so cv2.so