添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Ubuntu,如何安装OpenCV for python3?

27 人关注

我想在ubuntu 16.04中安装OpenCV for python3。 首先,我试着运行 sudo apt-get install python3-opencv ,我几乎是这样安装我所有的python软件的。 但这并不能找到一个软件库。 然而,如果我执行 sudo apt-get install python-opencv ,这个问题是,由于没有在python中添加3,它安装的是python 2,而我并不使用。 我真的很希望不用从源码构建和安装,所以有什么方法可以让我得到一个资源库吗? 我还试着用pip3安装它,它也找不到它。

2 个评论
我不认为你可以像安装python 2.x那样直接在python 3.x上安装opencv。 guide or this 来帮助你完成从git上的安装
好的,只是想确认一下。 我现在正在进行源码安装。
python
opencv
ubuntu
chasep255
chasep255
发布于 2016-05-12
9 个回答
Vtik
Vtik
发布于 2019-05-15
已采纳
0 人赞同

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

第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 (第一部分)

让我们下载pip ,一个Python软件包管理器,为Python 3安装。

$ 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步:建立并安装OpenCV 3.0与Python 3.4+绑定

$ 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

Time to setup the build:

$ 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

Step 4: Sym-link OpenCV 3.0

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

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

然而,为了在我们的cv虚拟环境中使用OpenCV 3.0,我们首先需要将OpenCV sym-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绑定。

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

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

希望这有帮助。另外,要感谢阿德里安-罗塞布罗克在他的post.它对我来说是一种魅力。

所以我安装了它,它似乎在工作。 我遇到的唯一问题是,eclipse中的PyDev似乎无法找到cv2。 我可以导入cv2并且运行得很好,但是我发现在eclipse中我不能在编码时使用ctrl+Space的自动完成功能,这很烦人。 我查看了 /usr/local/lib/python3.5/dist-packages ,注意到只有一个cv2的.so文件,而不是像软件包中的其他库一样有一个包含python文件的文件夹。 有什么方法可以让cv2的python文件与eclipse很好地结合起来吗?
Vtik
it looks like solved here 另外,如果答案确实解决了你的原始问题,请将你的问题标记为已回答。谢谢。
好吧,我实际上是通过在pydev中把cv2添加到强制的内置程序中而使其工作的。
此安装与cuda 8不兼容。如果你有cuda 8,请使用最新的cv2 repo。
我为CUDA 8做了这个工作,在Ubuntu 14.04上有这个问题 github.com/opencv/opencv/issues/8036 请看一下
Trevor
Trevor
发布于 2019-05-15
0 人赞同

I found this:

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

OpenCV on wheels

'用于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'

不知道为什么没有人提到这个。也许它是新近推出的?

这不费吹灰之力,但当我调用imshow()时,OpenCV说这个函数没有实现,我需要重建软件包。
对我来说,它还需要sudo apt-get install -y python-qt4
在服务器(无头)环境中,我还需要运行:apt-get install libglib2.0-0来使其工作。
这似乎是无法安装opencv version2系列。
Robin
Robin
发布于 2019-05-15
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
    
k26dr
k26dr
发布于 2019-05-15
0 人赞同

在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

To import in Python:

import cv2
    
我已经尝试了几个小时的不同解决方案。我在使用cv2.imshow()时一直得到一个错误。现在我试了这个,它终于工作了。谢谢你们
karel
karel
发布于 2019-05-15
0 人赞同

Ubuntu 18.04 and later

在Ubuntu 18.04及以后的版本中,OpenCV(开放计算机视觉)库的Python 3绑定可以通过以下命令从默认的Ubuntu仓库安装。

sudo apt install python3-opencv  

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

makoulis
makoulis
发布于 2019-05-15
0 人赞同

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

我不认为这就是问题所在。 为什么我不能像对待其他库那样为Python3安装它呢?
你只需要在cmake/OpenCVDetectPython.cmake中设置默认的python:set(PYTHON_DEFAULT_EXECUTABLE "${PYTHON3_EXECUTABLE}"。
Fiza
Fiza
发布于 2019-05-15
0 人赞同

流行的建议的解决方案对我来说是奇迹,在那里sudo apt安装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
    
这真是太精彩了!谢谢你。
tothedistance
tothedistance
发布于 2019-05-15
0 人赞同

ubuntu 18.04之后,使用

sudo apt install python3-opencv