在樹莓派2或樹莓派B+上安裝Python和OpenCV的教程
我的Raspberry Pi 2昨天剛郵到,這家伙看上去很小巧可愛。
這小家伙有4核900MHZ的處理器,1G內(nèi)存。要知道,Raspberry Pi 2 可比我中學(xué)電腦實(shí)驗(yàn)室里大多數(shù)電腦快多了。
話說(shuō),自從Raspberry Pi 2發(fā)布以來(lái),我收到了很多請(qǐng)求,要求我能寫一個(gè)在它上面安裝OpenCV和Python的詳細(xì)說(shuō)明。
因此如果你想在Raspberry Pi啟動(dòng)運(yùn)行OpenCV和Python,就往下面看!
在博文的剩余部分,我將提供在Raspberry Pi 2 和Raspberry Pi B+上的詳細(xì)安裝說(shuō)明。
我也會(huì)說(shuō)明每一步的安裝耗時(shí)。其中一些步驟需要較多的處理時(shí)間。舉個(gè)例子,在Raspberry Pi 2 編譯OpenCV花費(fèi)大概2.8小時(shí),在 Raspberry Pi B+上則是9.5小時(shí)。所以請(qǐng)你據(jù)此安排你的安裝吧。
最后,提醒一下我們會(huì)在PyImageSearch Gurus 計(jì)算機(jī)視覺課程中用到Raspberry Pi。我們的項(xiàng)目將會(huì)包括家庭監(jiān)控應(yīng)用,例如說(shuō)房間里面的運(yùn)動(dòng)檢測(cè)和人員跟蹤。
下面是一個(gè)運(yùn)動(dòng)檢測(cè)和跟蹤的簡(jiǎn)單例子,當(dāng)時(shí)我正打著電話在公寓里面來(lái)回走動(dòng)。
在 Raspberry Pi 2/B+上安裝OpenCV和Python
這里假定你已經(jīng)有了Raspberry Pi 2/B+,且已經(jīng)安裝好。如果沒有的話,我建議你買一個(gè),它們既便宜也好玩。
個(gè)人來(lái)說(shuō),我更愿意多花一點(diǎn)錢從Canakit買。他們的物流很快也比較可靠,加之他們的 ready-to-go服務(wù)也很好。
好吧,我們開始OpenCV和Python的安裝
步驟0:
我們假定你已經(jīng)打開Raspberry Pi 2/B+。打開終端,我們先更新和升級(jí)已安裝的軟件包,然后更新Raspberry Pi固件。
$ sudo apt-get update $ sudo apt-get upgrade $ sudo rpi-update
步驟1:
安裝所需的安裝工具和包:
$ sudo apt-get install build-essential cmake pkg-config
build-essential 和 pkg-config可能都已經(jīng)安裝。以防萬(wàn)一,我們還是將它們鍵入apt-get命令中。
耗時(shí):
Raspberry Pi B+:小于2分鐘
Raspberry Pi 2:小于40秒
步驟2:
安裝必要的圖像I/O包,這樣你才可以讀入JPEG,PNG,TIFF等這些格式的圖像。
$ sudo apt-get install libjpeg8-dev libtiff4-dev libjasper-dev libpng12-dev
耗時(shí):
Raspberry Pi B+: 小于5鐘
Raspberry Pi 2: 小于30秒
步驟3:
安裝GTK開發(fā)庫(kù),這個(gè)庫(kù)用來(lái)構(gòu)建GUI。同時(shí)OpenCV中的highgui庫(kù)也需要它來(lái)在屏幕上顯示圖像。
$ sudo apt-get install libgtk2.0-dev
耗時(shí):
Raspberry Pi B+: 小于10分鐘
Raspberry Pi 2:小于3分鐘
步驟4:
安裝必要的視頻I/O包,OpenCV需要它們來(lái)讀入視頻文件。
$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
耗時(shí):
Raspberry Pi B+: 小于5分鐘
Raspberry Pi 2: 小于30秒
步驟5:
安裝OpenCV優(yōu)化操作時(shí)所需庫(kù)。
$ sudo apt-get install libatlas-base-dev gfortran
耗時(shí):
Raspberry Pi B+:小于2分鐘
Raspberry Pi 2:小于30秒
步驟6:
安裝pip:
$ wget https://bootstrap.pypa.io/get-pip.py $ sudo python get-pip.py
耗時(shí):
Raspberry Pi B+:小于2分鐘
Raspberry Pi 2:小于30秒
步驟7:
安裝virtualenv和virtualenvwrapper
$ sudo pip install virtualenv virtualenvwrapper
然后,更新~/.profile文件如下:
export WORKON_HOME=$HOME/.virtualenvs source /usr/local/bin/virtualenvwrapper.sh
重新載入.profile文件:
$ source ~/.profile
創(chuàng)建你的計(jì)算機(jī)視覺虛擬環(huán)境
$ mkvirtualenv cv
耗時(shí):
Raspberry Pi B+: 小于2分鐘
Raspberry Pi 2: 小于2分鐘
步驟8:
現(xiàn)在我們安裝Python 2.7開發(fā)工具:
$ sudo apt-get install python2.7-dev
注意:我們將使用Python2.7。因?yàn)镺penCV 2.4.X不支持Python 3,也不太清楚OpenCV 3.0的python接口什么時(shí)候才能完善。所以我建議現(xiàn)在還是使用OpenCV2.4.X的好。
我們也需要安裝NumPy,因?yàn)镺penCV的Python接口通過(guò)Numpy的多維數(shù)組來(lái)表示圖像。
$ pip install numpy
耗時(shí):
Raspberry Pi B+: 小于45分鐘
Raspberry Pi 2: 小于15分鐘
步驟9:
下載和解壓OpenCV:
$ wget -O opencv-2.4.10.zip http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.10/opencv-2.4.10.zip/download $ unzip opencv-2.4.10.zip $ cd opencv-2.4.10
安裝:
$ mkdir build $ cd build $ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_NEW_PYTHON_SUPPORT=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON ..
耗時(shí):
Raspberry Pi B+: 小于3分鐘
Raspberry Pi 2: 小于1.5分鐘
編譯OpenCV:
$ make
重要:確定你在cv虛擬環(huán)境中,OpenCV也要根據(jù)該環(huán)境中的Python和NumPy中進(jìn)行編譯。否則的話,OpenCV就會(huì)和系統(tǒng)中的Python和NumPy編譯在一起,會(huì)產(chǎn)生各種問(wèn)題。
耗時(shí):
Raspberry Pi B+: 小于 9.5 小時(shí)
Raspberry Pi 2: 小于2.8小時(shí)
最后,我們安裝OpenCV:
$ sudo make install $ sudo ldconfig
耗時(shí):
Raspberry Pi B+: 小于 3分鐘
Raspberry Pi 2: 小于1分鐘
步驟10:
進(jìn)行到這一步的時(shí)候,OpenCV已經(jīng)應(yīng)該已經(jīng)安裝到/usr/local/lib/python2.7/site-packages中了。
但是為了在cv虛擬環(huán)境中使用OpenCV,我們先需要符合鏈接到我們的site-packages目錄:
$ cd ~/.virtualenvs/cv/lib/python2.7/site-packages/ $ ln -s /usr/local/lib/python2.7/site-packages/cv2.so cv2.so $ ln -s /usr/local/lib/python2.7/site-packages/cv.py cv.py
步驟11:
最后,我們測(cè)試一下OpenCV和Python的安裝:
$ workon cv $ python >>> import cv2 >>> cv2.__version__ '2.4.10'
OpenCV和Python已經(jīng)成功安裝到你的Raspberry Pi了。
這是在我的Raspberry Pi上的運(yùn)行例子,我ssh登錄到 Raspberry Pi,然后讀取和顯示一幅圖像。
總結(jié)
這篇博文中,我詳細(xì)介紹了如何在Raspberry Pi 2 /Raspberry Pi B+上安裝Python和OpenCV。也提供了他們的安裝耗時(shí),請(qǐng)酌情考慮你的安裝。
隨著Raspberry Pi的升級(jí),安裝指令可能有所變化。如果你遇到一些極端情況或安裝指令的變化,請(qǐng)隨時(shí)聯(lián)系我。當(dāng)然我也不能保證每封郵件都能回復(fù),所以最好是將如何在 Raspberry Pi上安裝OpenCV和Python的方法總結(jié)成一個(gè)列表。
不久以后,我會(huì)講如何在Raspberry Pi操作其附加的camera。
在那之前,看看PyImageSearch Gurus計(jì)算機(jī)視覺課程。我們將在其中一些工程中用到Raspberry Pi,就比如說(shuō)構(gòu)建一個(gè)監(jiān)控應(yīng)用來(lái)進(jìn)行房間內(nèi)部的運(yùn)動(dòng)檢測(cè)和人員跟蹤。
- 基于OpenCV和Gradio實(shí)現(xiàn)簡(jiǎn)單的人臉識(shí)別詳解
- 基于OpenCV實(shí)現(xiàn)動(dòng)態(tài)畫矩形和多邊形并保存坐標(biāo)
- 樹莓派極簡(jiǎn)安裝OpenCv的方法步驟
- visual studio 2012安裝配置方法圖文教程 附opencv配置教程
- windows下Pycharm安裝opencv的多種方法
- nodejs安裝與配置過(guò)程+初學(xué)實(shí)例解讀
- node-gyp安裝vuetify編譯失敗gyp?ERR的問(wèn)題及解決
- 安裝nvm并使用nvm安裝nodejs及配置環(huán)境變量的全過(guò)程
- window系統(tǒng) nodejs安裝opencv環(huán)境配置圖文詳解
相關(guān)文章
Python3安裝模塊報(bào)錯(cuò)Microsoft Visual C++ 14.0 is required的解決方法
這篇文章主要介紹了Python3安裝模塊報(bào)錯(cuò)Microsoft Visual C++ 14.0 is required的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07解決安裝pyqt5之后無(wú)法打開spyder的問(wèn)題
今天小編就為大家分享一篇解決安裝pyqt5之后無(wú)法打開spyder的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12python中關(guān)于數(shù)據(jù)類型的學(xué)習(xí)筆記
在本篇文章里小編給大家整理了關(guān)于python中關(guān)于數(shù)據(jù)類型的學(xué)習(xí)筆記內(nèi)容,需要的朋友們可以參考下。2020-07-07python整小時(shí) 整天時(shí)間戳獲取算法示例
今天小編就為大家分享一篇python整小時(shí) 整天時(shí)間戳獲取算法示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-02-02Python tempfile模塊學(xué)習(xí)筆記(臨時(shí)文件)
這篇文章主要介紹了Python tempfile模塊學(xué)習(xí)筆記,著重講解了模塊下的幾個(gè)函數(shù),需要的朋友可以參考下2014-05-05