如何在Ubuntu 16.04 LTS上为Python 3.5安装OpenCV 3.1?


21

如何在Ubuntu 16.04 LTS上安装OpenCV版本3.1以与Python 3.5.1一起使用?

我在VM上尝试过此操作,但如果要使用Python 2,显然这样做很有用。


4
标记为[windows]是因为您使用的是WSL?请务必告诉我们您的Ubuntu版本/环境,否则很难准确诊断问题
Zanna

到目前为止,我所见过的最好的视频对我有用
Oluwayetty

Answers:


10

我在Ubuntu 16.04 LTS上具有OpenCV版本3.1,可与Python 3.5.1一起使用。在最新版本已修复,请尝试:

http://cyaninfinite.com/tutorials/installing-opencv-in-ubuntu-for-python-3/

但是我没有下载dev python和OpenCV,而是直接从github上获取的:

1个

编辑:

这是我成功测试并在上面的链接中提到的说明:

  1. 更新存储库: sudo apt-get update
  2. 下载所需的软件包以编译OpenCV:

    sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
  3. 安装适用于Python3.5的开发人员软件包: sudo apt-get install python3.5-dev
  4. 复制dev文件:python3.5-config --includes输出应类似于:-I/usr/include/python3.5m -I/usr/include/x86_64-linux-gnu/python3.5m。输出的第一部分是预期的位置,第二部分显示配置文件的当前位置。为了解决这个问题,我们将文件从当前位置复制到预期位置:sudo cp /usr/include/x86_64-linux-gnu/python3.5m/pyconfig.h /usr/include/python3.5m/
  5. 创建一个临时目录,进入并运行:git clone https://github.com/Itseez/opencv.git。这将下载OpenCV3。然后将文件夹重命名opencvopencv-3
  6. 创建build目录,移至该目录并运行:

    cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ../opencv-3
  7. 该过程完成后,运行make,然后运行sudo make install
  8. 请享用。

1
不幸的是,很多事情对我来说还是失败的。我在关于apt_pkg的方式中遇到错误,无法导入多数组
CashCow '16

1
特别是,它一直在查找python3.4而不是python3.5,而且我不知道如何将其定向为使用python3.5。当我在python3.4中尝试导入opencv时,我的确遇到了一些有关缺少的依赖项的错误
CashCow

最后一条命令的最后一位应该是../../opencv-3我认为...您距离指定opencv-3目录还有两个距离
wordforthewise

您还希望在执行操作时使用所有处理器make,因此,如果您有8个内核,那么make -j8
wordforthewise

从另一个并行目录执行cmake,否则您将收到此问题stackoverflow.com/questions/45518317/…–
100rabh

39

我发现了这个

车轮上的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'

1
我喜欢此解决方案,但收到以下错误消息:Could not find any downloads that satisfy the requirement opencv-python
Jeff Tian

除非您正在寻找更高版本的opencv,否则这可能是最简单的解决方案
Joshua Owoyemi

1
确保使用pip3而不是pip!
givonz

在我的lxc容器中也缺少以下内容:apt-get install -y libsm6 libxext6 libxrender-dev
DanJ

容易,但是此程序包没有视频功能
BeyhanGül



1

我目前正在使用Google VM(ubuntu 14.04)。在python3.4版本上安装opencv是一项艰巨的任务。我希望为python 3.4安装opencv,但每次在2.7版本上安装它时都可以。

我将分享我所遵循的步骤,以帮助其他人。

步骤1遵循openCv安装部分中提到的所有步骤,直到cmake。链接如下:

https://docs.opencv.org/master/d7/d9f/tutorial_linux_install.html

注意:请在开始时安装所有提到的3个软件包。那也是可选的.. !! 并且不要忘记更改要安装的python版本。

我做了

sudo apt-get install python3-dev python3-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

进行步骤2 cmake

步骤2要在特定版本的python(ubuntu)中安装opencv,您必须设置默认(PYTHON_DEFAULT_EXECUTABLE)以及安装Python的路径。您可以使用whereis python3.4命令(或您的版本)找到答案。我的在/usr/bin/python3.4

代替页面上提到的cmake,使用它,

cmake -D CMAKE_BUILD_TYPE=Release -D BUILD_NEW_PYTHON_SUPPORT=ON -D BUILD_opencv_python3=ON -D HAVE_opencv_python3=ON -D PYTHON_DEFAULT_EXECUTABLE=/usr/bin/python3.4 ..

注意:不要忘记在PYTHON_DEFAULT_EXECUTABLE中更改您的python版本和路径。

步骤3按照链接中提到的其余步骤进行操作,直到sudo make install

希望能帮助到你。


0

基本指南:https//docs.opencv.org/master/d7/d9f/tutorial_linux_install.html

Ubuntu 18.04上测试的以下组件将安装OpenCV 4.1.0-dev,并且不使用python虚拟环境。我还没弄清楚它们是如何工作的。我把答案放在这里,因此具有更大的知名度。

要求

[compiler] sudo apt-get install build-essential
[required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
[optional] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

如何安装jasper:https : //github.com/opencv/opencv/issues/8622#issuecomment-353761271

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev

1.克隆存储库

安装中将包含contrib模块。

cd ~/<my_working_directory>
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git

(将Git分支到3.4以安装该版本。)

1.1制作构建文件夹

如果您搞砸了,只需删除构建文件夹并从此处重新开始

mkdir build
cd build

2.配置

我使用以下cmake标志:

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules ..

可选标志:(有很多标志,请参阅此博客文章以获取一些有用的标志

-DINSTALL_C_EXAMPLES=ON 
-DINSTALL_PYTHON_EXAMPLES=ON 
-DWITH_TBB=ON 
-DWITH_V4L=ON 
-DWITH_QT=ON 
-DWITH_OPENGL=ON
-DWITH_NVCUVID=ON 
-DWITH_CUDA=ON
-DWITH_OPENMP=ON 
-DWITH_IPP=ON
-DWITH_OPENCL=ON

通过检查以下内容来确保cmake找到您的python版本:

--   Python 2:
--     Interpreter:                 /usr/bin/python2.7 (ver 2.7.15)
--     Libraries:                   /usr/lib/x86_64-linux-gnu/libpython2.7.so (ver 2.7.15+)
--     numpy:                       /usr/lib/python2.7/dist-packages/numpy/core/include (ver 1.13.3)
--     install path:                lib/python2.7/dist-packages/cv2/python-2.7
-- 
--   Python 3:
--     Interpreter:                 /usr/bin/python3 (ver 3.6.8)
--     Libraries:                   /usr/lib/x86_64-linux-gnu/libpython3.6m.so (ver 3.6.8)
--     numpy:                       /home/jx/.local/lib/python3.6/site-packages/numpy/core/include (ver 1.15.4)
--     install path:                lib/python3.6/dist-packages/cv2/python-3.6

如何指定要使用的python版本

3.制作并安装

将make与所需的线程数(例如,处理器数量)一起使用,然后安装。

make -j8
sudo make install

现在应该安装到 /usr/local

4.测试

如果一切顺利,那么您应该可以在python中导入cv2。

import cv2
cv2.__version__

-1

可以使用pip / pip3和homebrew安装OpenCV。在使用pip3(Python 3.6.0)之前,我曾尝试安装它,但是VideoCapture遇到了问题,它需要ffmpeg软件包。cv2.VideoCapture('videofilename')。这就是为什么我使用自制软件安装OpenCV的原因。用Ctrl+ Alt+ 打开终端,T然后键入以下命令:

brew install ffmpeg
brew install opencv3 --with-ffmpeg -v (Python 2.7)
brew install opencv3 --with-python3 --with-ffmpeg -v (Python 3.6)

3
您为什么建议使用homebrew
guntbert

1
可以使用pip / pip3和homebrew安装OpenCV。我使用pip3(Python 3.6.0)进行安装,但是VideoCapture出现了问题,它需要ffmpeg软件包。cv2.VideoCapture('videofilename')因此,我使用自制软件进行安装,并且效果很好。
Biranchi '17

2
@Biranchi请使用您评论中的信息更新您的答案(并可能添加更多信息)。
西蒙·苏德勒
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.