繁体   English   中英

Ubuntu,如何为python3安装OpenCV?

[英]Ubuntu, how to install OpenCV for python3?

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

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

步骤 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 步:符号链接 OpenCV 3.0

如果你已经到了这一步,OpenCV 3.0 现在应该安装在/usr/local/lib/python3.4/site-packages/

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

但是,为了在我们的 cv 虚拟环境中使用 OpenCV 3.0,我们首先需要将 OpenCV 符号链接到 cv 环境的 site-packages 目录中,如下所示:(一定要注意cv2.cpython-34m.so )

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

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

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

$ workon cv
$ python
>>> import cv2
>>> cv2.__version__
'3.0.0'

希望有帮助。 此外,感谢 Adrian Rosebrock 在他的帖子中 它对我来说是一种魅力。

我发现了这个:

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'

不知道为什么没有提到这一点。 也许它是新的?

假设您安装了 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

在 python3 环境中使用 conda:

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

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

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

pip install pillow
conda install -c menpo opencv3=3.1.0

在 Python 中导入:

import cv2

Ubuntu 18.04 及更高版本

在 Ubuntu 18.04 和更高版本中,可以使用以下命令从默认的 Ubuntu 存储库安装 OpenCV(开放计算机视觉)库的 Python 3 绑定:

sudo apt install python3-opencv  

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

这是因为你的机器上安装了多个python。你应该把python3设为默认,因为默认是python2.7

ubuntu 18.04之后,使用

sudo apt install python3-opencv

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

sudo pip3 install opencv-python opencv-contrib-python

流行的建议解决方案为我创造了奇迹,其中 sudo apt install of opencv 未能正确安装。 关于第 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM