原文链接
pip 安装 opencv
在 2019年7月6日 上张贴 由 hotdog发表回复
pip 安装 opencv
在本教程中,您将学习如何在Ubuntu,macOS和Raspberry Pi上安装OpenCV。
在以前的 OpenCV 安装教程中,我建议从源代码编译; 然而,在过去的一年里,已经可以通过 pip 安装 OpenCV,这是 Python 自己的包管理器。
从源代码安装将为您提供对 OpenCV 配置的最大控制,同时也是最难和最耗时的。
如果您正在寻找在您的系统上 安装OpenCV 的最快方法,那么您希望使用 pip 安装 OpenCV (但是有一些事情可能会让您感到沮丧,所以请务必阅读其余内容)
在开始之前,我想指出这个OpenCV安装方法的一个重要警告。
我们今天讨论的PyPi / PiWheels托管的OpenCV版本不包括“ non-free ”算法,如SIFT,SURF和其他专利算法。如果您需要一个不需要运行包含 non-free 算法的程序的快速环境,这是安装OpenCV的好方法 – 如果不是这样的话,您需要完成OpenCV的完整编译。
两个 pip 的 OpenCV 包:opencv-python 和opencv-contrib-python
在我们开始之前,我想提醒您,我今天来到这里的方法是非官方的预构建的OpenCV软件包,可以通过pip安装 – 它们不是OpenCV.org发布的官方OpenCV软件包。
仅仅因为它们不是官方包装并不意味着您不能放心地使用它们,只是要了解它们并未得到官方OpenCV.org团队的直接支持和支持。
所有这一切 – 在 PyPI 存储库上有四个可以安装 pip 的 OpenCV 包:
opencv-python:这个存储库只包含OpenCV库的主要模块。如果您是PyImageSearch阅读器,则不需要安装此软件包。
opencv-contrib-python : opencv-contrib-python 库包含主要模块与contrib模块-这是我推荐你安装,因为它包含了所有的OpenCV功能。
opencv-python-headless:与opencv-python相同但没有GUI功能。适用于无界面系统。
opencv-contrib-python-headless:与opencv-contrib-python相同,但没有GUI功能。适用于无界面系统。
同样,在绝大多数情况下,您需要 在系统上安装 opencv – contrib – python。
你不要想同时安装两个 opencv-python 和 opencv-contrib-python 挑一个就好。
如何在Ubuntu上安装OpenCV
您有两个选项可以使用 pip 在 Ubuntu 上 安装 OpenCV:
安装到您的系统 site-packages
安装到虚拟环境的 site-packages(首选)
首先,安装 pip
如果你没有pip,你需要先获得它
$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python3 get-pip.py
选项A:使用pip将OpenCV安装到您的Ubuntu系统
我不推荐这种方法,除非你有一个特殊的用例,你不需要独立的独立Python环境。
让我们在我们的系统上安装opencv-contrib-python:pip install opencvShell
1$ sudo pip install opencv-contrib-python
在几秒钟内,OpenCV已准备好进入系统的站点包!
选项B:使用pip将Ubuntu上的OpenCV安装到虚拟环境中
Python虚拟环境有很多好处。
主要的好处是,您可以使用隔离的软件包(许多具有版本依赖性)在您的系统上开发多个项目,而不会混淆系统。您也可以随意添加和删除虚拟环境。
简而言之:Python虚拟环境是Python开发的最佳实践。机会是,你应该赶上这个潮流。
我选择的工具是 virtualenv 和 virtualenvwrapper, 但你可以选择一种替代品,如venv或Anaconda(简称conda)。
以下是如何安装 virtualenv 和 virtualenvwrapper ,它们都将存在于您的系统站点中- 打包 并管理每个项目的虚拟环境站点包
1$ pip install virtualenv virtualenvwrapper
在我们继续之前,您首先需要在〜/ .bashrc 配置文件中添加一些行 。使用nano , vim 或 emacs打开文件 ,并将这些行追加到末尾
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh
保存文件。然后在您的终端中使配置文件生效
1$ source ~/.bashrca
你会看到一些设置virtualenvwrapper的终端输出。您现在可以访问新的终端命令:
使用mkvirtualenv创建环境 。
使用workon激活环境(或切换到另一个环境) 。
使用deactivate取消激活环境 。
使用rmvirtualenv删除环境 。
一定要阅读文档!
让我们为OpenCV创建一个名为cv的Python 3虚拟环境
1$ mkvirtualenv cv -p python3
使用 pip,您可以在几秒钟内将 OpenCV 安装到新环境中
1$ pip install opencv-contrib-python
如何在macOS上安装OpenCV
MacOS与Ubuntu类似,用于安装OpenCV。
同样,您有两个选项可以使用pip在macOS上安装OpenCV:
安装到您的系统 站点- 包
安装到虚拟环境的 站点- 包(首选)
安装 pip
如果你没有pip,你需要先获得它
$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python3 get-pip.py
选项A:使用pip将OpenCV安装到macOS系统
不要这样做。
为什么?我实际上建议您转到选项B并使用虚拟环境。
好吧,如果您坚持在macOS系统上安装,那么它就像通过以下方式安装OpenCV一样简单
1$ sudo pip install opencv-contrib-python
在几秒钟内,OpenCV就可以进入系统的站点包了。
选项B:使用pip将macOS上的OpenCV安装到虚拟环境
使用虚拟环境轻松管理项目及其依赖项。
如果您认真对待计算机视觉开发(或任何相关的开发),您应该使用Python虚拟环境
以下是如何安装virtualenv和virtualenvwrapper,它们都将存在于您的系统站点包中并管理每个项目的虚拟环境站点包
1$ pip install virtualenv virtualenvwrapper
从那里,您需要将以下行添加到 〜/ .bash_profile (注意,对于macOS,文件名是.bash_profile ,对于Ubuntu,它是 .bashrc 。
使用nano , vim 或 emacs打开文件 (大多数系统都有nano)
1$ nano ~/.bash_profile
…并将这些行追加到最后:pip install opencvShell
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
source /usr/local/bin/virtualenvwrapper.sh
保存文件 – 如果您使用的是 nano ,则会在窗口底部列出键盘快捷键。
然后在您的终端生效
1$ source ~/.bash_profile
您将看到几行终端输出,表明virtualenvwrapper已设置。您现在可以访问新的终端命令:
mkvirtualenv :创建一个新的虚拟环境。
workon :激活/切换到虚拟环境。请记住,您可以拥有任意数量的环境。
停用 :跳出虚拟环境,您将使用您的系统。
rmvirtualenv :删除虚拟环境。
一定要阅读文档!
让我们为OpenCV创建一个名为cv的Python 3虚拟环境:pip install opencvShell
1$ mkvirtualenv cv -p python3
现在,使用pip,眨眼之间,你可以在几秒钟内在macOS上安装OpenCV进入你的新环境
1$ pip install opencv-contrib-python
如何在Raspberry Pi上安装OpenCV
在这篇文章的前面我提到安装OpenCV的一个缺点是你没有对编译本身的任何控制 – 二进制文件是为你预先构建的,虽然很好,但也意味着你不能包含任何额外的优化。
对于Raspberry Pi,我们很幸运。
Dave Jones(picamera Python模块的创建者 )和Raspberry Pi社区的Ben Nuttall运行piwheels.org,这是一个Python包存储库,为Raspberry Pi 提供预编译的二进制包。
使用PiWheels,您将能够在几秒钟内完成安装OpenCV(对于可能需要很长时间编译的其他Python库也是如此,包括NumPy,SciPy,scikit-learn等)。
那么如何指示pip命令使用PiWheels?
简短的回答是“没什么!”
如果您正在使用Raspbian Stretch,您会很高兴地知道pip命令会在检查PyPI之前检查PiWheels是否有预编译的二进制文件,从而使您的Pi能够节省大量CPU周期
此外,当Ben和Dave为PiWheels整合OpenCV二进制文件时,他们问我应该使用哪些指令 –我建议我为Raspberry Pi安装优化的OpenCV– 这正是他们遵循的指令!
如果您最终使用pip在Raspberry Pi上安装OpenCV,请放心,您正在使用优化版本。
让我们开始学习如何在我们的Raspberry Pi上安装OpenCV。
在Raspberry Pi上安装必备组件
Raspberry Pi要求您在开始之前安装一些系统软件包
$ sudo apt-get install libhdf5-dev libhdf5-serial-dev libhdf5-100
$ sudo apt-get install libqtgui4 libqtwebkit4 libqt4-test python3-pyqt5
$ sudo apt-get install libatlas-base-dev$ sudo apt-get install libjasper-dev
在你的Raspberry Pi上安装pip
Python包管理器“pip”可以通过wget获得
$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python3 get-pip.py
现在您有两个选择:
将OpenCV安装到您的全局Python 站点- Raspberry Pi上的软件包
将OpenCV安装到Raspberry Pi上的虚拟环境中
选项A:使用pip将OpenCV安装到 树莓派 Pi系统
如果您希望能够在隔离环境中使用不同版本的OpenCV,我不建议使用此选项。
但是很多人只为一个目的/项目部署他们的Raspberry Pi,并且不需要虚拟环境。
话虽如此,如果您以后改变主意并希望使用虚拟环境,清理起来相当混乱,因此我建议您跳过此选项并按照选项B进行操作。
要在Raspberry Pi系统上安装OpenCV,请务必使用sudo
1$ sudo pip install opencv-contrib-python
只需几秒钟,OpenCV就可以使用Raspberry Pi的站点包以及您可能安装的任何其他软件包。
选项B:在Raspberry Pi上使用pip将OpenCV安装到虚拟环境中
如果你的Raspberry Pi有多种用途(或者如果你像我一样,并且不断测试各种软件版本的博客文章之间的代码兼容性?),那么虚拟环境肯定是要走的路。
以下是如何安装virtualenv和virtualenvwrapper,我用它来完成它的工具
1$ pip install virtualenv virtualenvwrapper
然后你需要在〜/ .profile中添加以下行 。使用nano , vim 或 emacs打开文件 ,并将这些行追加到末尾
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh
注意:请注意,对于Raspberry Pi,我们要编辑的是 〜/ .profile
保存文件。然后在您的终端中生效
1$ source ~/.profile
将打印终端输出,表明virtualenvwrapper已准备就绪。务必检查错误。
您现在可以访问新的终端命令:
使用mkvirtualenv创建环境 。
使用workon激活环境(或切换到另一个环境) 。
使用deactivate取消激活环境 。
使用rmvirtualenv删除环境 。
一定要阅读文档!
要创建一个容纳OpenCV和您安装的其他软件包的Python 3虚拟环境,只需使用mkvirtualenv和以下命令
1$ mkvirtualenv cv -p python3
现在您有一个名为cv的虚拟环境 。您可以随时通过以下方式激活它:pip install opencvShell
1$ workon cv
现在只需翻转一下手腕,就可以将OpenCV安装到 cv中
1$ pip install opencv-contrib-python
这就是使用PiWheels的全部内容!
我敢打赌你正在使用PiCamera作为成像传感器。您可以使用以下命令安装Python模块(只需记下引号)
1$ pip install "picamera[array]"
测试我们的OpenCV pip安装
您是否知道OpenCV的3.3+具有可以运行深度学习模型的DNN模块?
您可能会感到惊讶,但您的OpenCV版本现在可以开箱即用,几乎没有其他软件。
我们将使用MobileNet单击检测器在视频中执行对象检测。
这是您首先需要安装的(假设一个 cv 虚拟环境)
$ workon cv
$ pip install imutils
$ pip install "picamera[array]"
现在通过打开Python shell仔细检查您是否已准备好所有软件
$ workon cv
$ python
.>>> import cv2
>>> cv2.__version__
'4.0.1'
Raspberry Pi将展示不同版本的Python 3,这是预期的。
现在是下载代码的时候了。
下载源代码+预先培训的MobileNet SSD神经网络。下载链
从那里,执行以下命令
$ python real_time_object_detection.py \
--prototxt MobileNetSSD_deploy.prototxt.txt \
--model MobileNetSSD_deploy.caffemodel
图X:使用深度学习和OpenCV进行实时对象检测的简短剪辑
我正在使用Macbook Pro。在笔记本电脑上使用CPU时,帧速率为6 FPS非常好。
Raspberry Pis资源紧张,因此我们可以利用一些技巧来创造更高FPS的幻觉。如果您使用的是Raspberry Pi,请执行以下命令
$ python pi_object_detection.py \ --prototxt MobileNetSSD_deploy.prototxt.txt \ --model MobileNetSSD_deploy.caffemodel
在这里,我在Raspberry Pi上创建了快速27 FPS的幻觉,而后台的神经网络只能处理0.9 FP
使用pip安装OpenCV时需要注意什么
首先,并非所有Python发行版都具有可以进行pip安装的OpenCV版本。
较新版本的Python和较新的操作系统(更不用说已经达到其使用寿命的旧版本)可能没有准备好进入PyPI存储库的OpenCV版本,因为开源社区没有机会发布这样的版本呢。
在这些情况下,您可以:
等到上传Python和OS组合的二进制文件。
或者我的建议是什么 – 从源代码编译(Ubuntu,macOS,RPi)。
其次,包括Anaconda用户在内的一些读者报告了使用cv2等GUI功能的问题 。imshow 和cv2 。waitKey 。
在这些场景中,OpenCV会错误地说它没有使用GTK或QT支持进行编译。
简单的说:
您将能够使用所有其他OpenCV函数,但您将无法使用任何GUI函数,尤其是highgui模块中的函数。
这里的解决方案是从源代码编译(Ubuntu,macOS,RPi)。
第三,我知道读者 在他们的终端,Jupyter笔记本或Python shell中执行import cv2 时报告了问题 –这不是OpenCV的pip安装问题。
在大多数情况下,但不是所有情况下,错误与您实际安装的OpenCV无关
如需要在其他机器上 安装opencv, 请参考这篇教程 OpenCV教程 ,资源和指南
代码下载
请看 这篇文章 https://hotdog29.com/?p=620
原文链接
pip 安装 opencv
文章转自 Adrian Rosebrock ,OpenCV Face Recognition,PyImageSearch,https://www.pyimagesearch.com/2018/09/24/opencv-face-recognition/,2009年7月6日访问
相关文章
文本检测 OpenCV EAST文本检测器 源代码
YOLO 对象检测 OpenCV 源代码
代码下载
dlib 使用OpenCV,Python和深度学习进行人脸识别 源代码
OpenCV 人脸识别 源代码
张贴在技术博客、opencv标签:opencv、安装、树莓派、pip编辑