我想在 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/