问题描述
我想在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安装的pip(Python软件包管理器):
$ 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安装到我们的简历虚拟环境中:
$ 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,我们首先需要将sym-link 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的post。它对我来说是一种魅力。
次佳回答
我找到了这个:
https://pypi.python.org/pypi/opencv-python
车轮上的OpenCV
‘Unofficial OpenCV packages for Python.’
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:
首先将conda安装在python3环境中,如果尚未激活,请激活它:
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