python - Ubuntu,如何为 python3 安装 OpenCV?

标签 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 安装,也找不到。

最佳答案

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

第 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+ 绑定(bind)构建和安装 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 步:符号链接(symbolic link) OpenCV 3.0

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

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

但是,为了在我们的 cv 虚拟环境中使用 OpenCV 3.0,我们首先需要将 OpenCV 符号链接(symbolic link)到 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 绑定(bind)。

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

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

希望对您有所帮助。另外,感谢 Adrian Rosebrock 的 post .它对我来说是一种魅力。

关于python - Ubuntu,如何为 python3 安装 OpenCV?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37188623/

相关文章:

Python:字典和列表

python - `namedtuple` 在内存使用上真的和元组一样高效吗?我的测试说不

ubuntu - 使用 Webmin 挂载 NFS 时权限被拒绝(Mac OSX + Ubuntu 设置)

database - 如何远程导出oracle数据库?

php - Ubuntu 10.04 上 PHP 5.3.2 中的 mysqlnd 驱动程序

python - 当需要使用AsyncIO和ThreadPoolExecutor时,是否需要手动调用loop.close()?

python - 指定的列表理解

opencv - 无法将 xtion pro live 与 Ubuntu 12.04 连接

python - 在CV2或PIL中将特定范围的颜色更改为另一种颜色

python - 如何获得高斯滤波器?