pip 安裝 opencv 源代碼

請直接看原文 pip 安裝 opencv https://hotdog29.com/?p=550

在 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,你需要先獲得它:pip install opencvShell

1 $ 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打開文件 ,並將這些行追加到末尾

1
2
3 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,你需要先獲得它

1
2 $ 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

1
2
3 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要求您在開始之前安裝一些系統軟件包

1
2
3
$ 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獲得

1
2 $ 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打開文件 ,並將這些行追加到末尾

1
2
3 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 虛擬環境)

1
2
3 $ workon cv
$ pip install imutils
$ pip install “picamera[array]”
現在通過打開Python shell仔細檢查您是否已準備好所有軟件

1
2
3

$ workon cv
$ python
.>>> import cv2

cv2.version
‘4.0.1’
Raspberry Pi將展示不同版本的Python 3,這是預期的。

現在是下載代碼的時候了。

下載源代碼+預先培訓的MobileNet SSD神經網絡。下載鏈

從那裏,執行以下命令

1
$ 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,請執行以下命令

1
$ 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

文章轉自 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編輯

請直接看原文 pip 安裝 opencv https://hotdog29.com/?p=550

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章