opencv python安装 centos_在Ubuntu中安装OpenCV-Python

和Fedora差不多,Ubuntu安装OpenCV基本上和它是一致的,所以在安装方法上基本上大体相同,有一些不一样的地方我会着重写出来,下面的步骤是在Ubuntu 16.04和18.04(64位)测试的。Ubuntu 18.04的一个主要变化是他们完全放弃了Python 2.7。如果需要,你仍然可以安装Python 2.7 ,但现在Python 3是操作系统上的默认设置。所以本教程主要针对于Python 3。

安装Python 3.6

让我们熟悉Ubuntu 18.04上的Python 3。要在Ubuntu 18.04上运行Python 3,必须显式调用python3。让我们先看看系统上安装了哪个版本:$ python3 --version

Python 3.6.5

现在,让我们启动一个Python3 shell来测试一下:$ python3

>> print("OpenCV + Ubuntu 18.04!")

OpenCV + Ubuntu 18.04!

>> quit()

这很简单,所以我们接下来继续在Ubuntu18.04上安装OpenCV。

在Ubuntu 18.04上安装OpenCV依赖项

所有步骤都将在终端/命令行中完成。 在我们开始之前,打开终端或通过SSH连接。从那里,我们需要使用apt-get  软件包管理器刷新/升级预安装的软件包/库:$ sudo apt-get update

$ sudo apt-get upgrade

接着安装开发人员工具:$ sudo apt-get install build-essential cmake unzip pkg-config

如果已经拥有 pkg-config安装在Ubuntu 18.04上,那么需要确保将其包含在install命令中以确保完整性。

接下来,我们需要安装一些特定于OpenCV的先决条件。OpenCV是图像处理/计算机视觉库,因此它需要能够加载标准图像文件格式,例如JPEG,PNG,TIFF等:$ sudo apt-get install libjpeg-dev libpng-dev libtiff-dev

现在让我们尝试安装 libjasper-dev:$ sudo apt-get install libjasper-dev

如果收到有关的错误 libjasper-dev丢失,然后按照以下说明进行操作:sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"

sudo apt update

sudo apt install libjasper1 libjasper-dev

接下来,我们安装视频包,需要以下软件包,以便可以使用相机流并处理视频文件:$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev

$ sudo apt-get install libxvidcore-dev libx264-dev

OpenCV的highgui模块依赖于GTK库进行GUI操作。highgui模块可以创建基本的GUI,以显示图像,处理敲击/鼠标单击以及创建滑块和轨迹栏。高级GUI应使用TK,Wx或QT构建,接下来安装GTK:$ sudo apt-get install libgtk-3-dev

我建议使用以下两个库来优化各种OpenCV功能:$ sudo apt-get install libatlas-base-dev gfortran

最后,我们的最后一个要求是安装Python 3库:$ sudo apt-get install python3.6-dev

下载官方的OpenCV来源

由于我们将继续在终端中工作,因此使用以下命令下载官方的OpenCV版本:$ CD〜

$ wget -O opencv.zip https://github.com/opencv/opencv/archive/3.4.4.zip

其次是 opencv_contrib模块,这个模块将非常有用,因为它包含了很多的OpenCV最重要的算法,contrib存储库包含SIFT,SURF等算法。过去,这些实现已包含在OpenCV 2.4的默认安装中。但是,它们从OpenCV 3+开始就被迁移了,contrib模块中包含正在积极开发的模块和/或已申请专利的模块(对于商业/工业用途不是免费的),SIFT和SURF算法便属于此类。:$ wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/3.4.4.zip

重要提示:OpenCV和 OpenCV_contrib版本必须相同。

现在,让我们解压缩存档文件:$ unzip opencv.zip

$ unzip opencv_contrib.zip

现在,继续并重命名目录:$ mv opencv-3.4.4 opencv

$ mv opencv_contrib-3.4.4 opencv_contrib

配置Python 3环境

我们要配置Python 3开发环境的第一步是安装pip(Python软件包管理器)。

要安装pip,只需在终端中输入以下内容:$ wget https://bootstrap.pypa.io/get-pip.py

$ sudo python3 get-pip.py

利用虚拟环境进行Python开发

我建议最好使用虚拟环境进行开发,为什么?

虚拟环境可以隔离地处理项目,而不必浪费资源消耗,例如VM和Docker映像

例如,也许有一个Python + OpenCV项目,它需要较旧版本的scikit-learn(v0.14),但如果我们想为所有较新的项目继续使用最新版本的scikit-learn(0.19)。

使用虚拟环境,就可以分别处理这两个软件版本依赖性,而仅仅使用Python的系统安装是无法实现的。

继续安装虚拟环境和虚拟环境包装器,现在:$ sudo pip install virtualenv virtualenvwrapper

$ sudo rm -rf〜/ get-pip.py〜/ .cache / pip

要完成安装,我们需要更新我们的 〜/ .bashrc文件。

使用终端文本编辑器(如vi文件/vim文件或Nano文件)将以下行添加到~/.bashrc文件:export WORKON_HOME=$HOME/.virtualenvs

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3

source /usr/local/bin/virtualenvwrapper.sh

或者,可以直接通过bash命令追加行:$ echo -e "\n# virtualenv and virtualenvwrapper" >> ~/.bashrc

$ echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.bashrc

$ echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.bashrc

$ echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrc

接下来,将~/.bashrc文件作为源文件:$ source ~/.bashrc

创建一个虚拟环境来保存OpenCV和其他软件包

我们现在可以为OpenCV创建Python3虚拟环境:$ mkvirtualenv cv -p python3

此行只创建一个名为cv的Python3虚拟环境。 我们可以随心所欲地给你的环境命名,我们可以在系统上拥有任意数量的虚拟环境!让我们使用workon命令验证我们是否处于cv环境中:$ workon cv

在环境中安装NumPy

让我们将第一个包安装到环境中:NumPy,NumPy是使用Python和OpenCV的必要,我们只需使用pip(在cv和Python虚拟环境处于激活状态时):$ pip install numpy

为Ubuntu 18.04配置和编译OpenCV

现在我们要搬家了,我们已经准备好编译和安装OpenCV。不过,在开始之前,让我们先确保我们处于cv虚拟环境中:$ workon cv

虚拟环境是激活的,并且非常重要的,这就是为什么我不断重申这一点。 如果在进入下一步之前没有在cv和Python虚拟环境中,那么构建文件将不会正确生成。

使用CMake配置OpenCV

让我们使用cmake命令设置我们的OpenCV版本:$ cd ~/opencv

$ mkdir build

$ cd build

$ cmake -D CMAKE_BUILD_TYPE=RELEASE \

-D CMAKE_INSTALL_PREFIX=/usr/local \

-D WITH_CUDA=OFF \

-D INSTALL_PYTHON_EXAMPLES=ON \

-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \

-D OPENCV_ENABLE_NONFREE=ON \

-D BUILD_EXAMPLES=ON ..

注意: 如果遇到与stdlib.h相关的问题:在本教程的cmake或make阶段没有此类文件或目录,则还需要在CMake中包括以下选项:-D ENABLE_PRECOMPILED_HEADERS = OFF。 在这种情况下,我建议删除构建目录,重新创建它,然后使用上面的选项重新运行cmake。 这将解决stdlib.h错误。

在Ubuntu 18.04上编译OpenCV

让我们使用make命令编译OpenCV,根据处理器/核心的数量,可以通过更改命令中的标志来缩短编译时间。我的计算机有4个内核,所以我使用的是-j4标志。 你可以更新数字或完全关闭该标志:$ make -j4

此过程可能需要30分钟或更长时间,如果编译阻塞并挂起,则可能是由于线程占用情况造成的。 万一遇到此问题,只需删除构建目录,重新创建它,然后重新运行cmake和make。

安装和验证OpenCV

成功完成100%编译后,现在可以安装OpenCV:$ sudo make install

$ sudo ldconfig

为了验证安装完成度,在终端中输入以下命令:$ pkg-config --modversion opencv

3.4.4

完成Python+OpenCV+Ubuntu 18.04安装

我们已经到了最后关头,请各位坚持下来。

此时,OpenCV的Python 3绑定位于以下文件夹中:$ ls /usr/local/python/cv2/python-3.6

cv2.cpython-36m-x86_64-linux-gnu.so

让我们将它们简单地重命名为cv2.so:$ cd /usr/local/python/cv2/python-3.6

$ sudo mv cv2.cpython-36m-x86_64-linux-gnu.so cv2.so

我们的最后一个子步骤是将我们的OpenCV cv2.so绑定符号链接到我们的cv虚拟环境中:$ cd ~/.virtualenvs/cv/lib/python3.6/site-packages/

$ ln -s /usr/local/python/cv2/python-3.6/cv2.so cv2.so

在Ubuntu 18.04上测试OpenCV 3安装

要验证我们的OpenCV+Ubuntu安装是否完成,启动Python,导入OpenCV,然后查询版本(如果您同时安装了多个版本的OpenCV,这将非常有用):$ cd ~

$ workon cv

$ python

Python 3.6.5

[GCC 7.3.0] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>> import cv2

>>> cv2.__version__

'3.4.4'

>>> quit()

至此,安装已经完全搞定,可以开始快乐的OpenCV之旅了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值