我的Raspberry Pi 2昨天剛郵到,這家伙看上去很小巧可愛。
這小家伙有4核900MHZ的處理器,1G內(nèi)存。要知道,Raspberry Pi 2 可比我中學(xué)電腦實驗室里大多數(shù)電腦快多了。
話說,自從Raspberry Pi 2發(fā)布以來,我收到了很多請求,要求我能寫一個在它上面安裝OpenCV和Python的詳細說明。
因此如果你想在Raspberry Pi啟動運行OpenCV和Python,就往下面看!
在博文的剩余部分,我將提供在Raspberry Pi 2 和Raspberry Pi B+上的詳細安裝說明。
我也會說明每一步的安裝耗時。其中一些步驟需要較多的處理時間。舉個例子,在Raspberry Pi 2 編譯OpenCV花費大概2.8小時,在 Raspberry Pi B+上則是9.5小時。所以請你據(jù)此安排你的安裝吧。
最后,提醒一下我們會在PyImageSearch Gurus 計算機視覺課程中用到Raspberry Pi。我們的項目將會包括家庭監(jiān)控應(yīng)用,例如說房間里面的運動檢測和人員跟蹤。
下面是一個運動檢測和跟蹤的簡單例子,當時我正打著電話在公寓里面來回走動。
這里假定你已經(jīng)有了Raspberry Pi 2/B+,且已經(jīng)安裝好。如果沒有的話,我建議你買一個,它們既便宜也好玩。
個人來說,我更愿意多花一點錢從Canakit買。他們的物流很快也比較可靠,加之他們的 ready-to-go服務(wù)也很好。
好吧,我們開始OpenCV和Python的安裝
我們假定你已經(jīng)打開Raspberry Pi 2/B+。打開終端,我們先更新和升級已安裝的軟件包,然后更新Raspberry Pi固件。
1 2 3 | $ 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)安裝。以防萬一,我們還是將它們鍵入apt-get命令中。
耗時:
Raspberry Pi B+:小于2分鐘
Raspberry Pi 2:小于40秒
安裝必要的圖像I/O包,這樣你才可以讀入JPEG,PNG,TIFF等這些格式的圖像。
1 | $ sudo apt - get install libjpeg8 - dev libtiff4 - dev libjasper - dev libpng12 - dev |
耗時:
Raspberry Pi B+: 小于5鐘
Raspberry Pi 2: 小于30秒
安裝GTK開發(fā)庫,這個庫用來構(gòu)建GUI。同時OpenCV中的highgui庫也需要它來在屏幕上顯示圖像。
1 | $ sudo apt - get install libgtk2. 0 - dev |
耗時:
Raspberry Pi B+: 小于10分鐘
Raspberry Pi 2:小于3分鐘
安裝必要的視頻I/O包,OpenCV需要它們來讀入視頻文件。
1 | $ sudo apt - get install libavcodec - dev libavformat - dev libswscale - dev libv4l - dev |
耗時:
Raspberry Pi B+: 小于5分鐘
Raspberry Pi 2: 小于30秒
安裝OpenCV優(yōu)化操作時所需庫。
1 | $ sudo apt - get install libatlas - base - dev gfortran |
耗時:
Raspberry Pi B+:小于2分鐘
Raspberry Pi 2:小于30秒
安裝pip:
1 2 | $ wget https: / / bootstrap.pypa.io / get - pip.py $ sudo python get - pip.py |
耗時:
Raspberry Pi B+:小于2分鐘
Raspberry Pi 2:小于30秒
安裝virtualenv和virtualenvwrapper
1 | $ sudo pip install virtualenv virtualenvwrapper |
然后,更新~/.profile文件如下:
1 2 | export WORKON_HOME = $HOME / .virtualenvs source / usr / local / bin / virtualenvwrapper.sh |
重新載入.profile文件:
1 | $ source ~/.profile |
創(chuàng)建你的計算機視覺虛擬環(huán)境
1 | $ mkvirtualenv cv |
耗時:
Raspberry Pi B+: 小于2分鐘
Raspberry Pi 2: 小于2分鐘
現(xiàn)在我們安裝Python 2.7開發(fā)工具:
1 | $ sudo apt - get install python2. 7 - dev |
注意:我們將使用Python2.7。因為OpenCV 2.4.X不支持Python 3,也不太清楚OpenCV 3.0的python接口什么時候才能完善。所以我建議現(xiàn)在還是使用OpenCV2.4.X的好。
我們也需要安裝NumPy,因為OpenCV的Python接口通過Numpy的多維數(shù)組來表示圖像。
1 | $ pip install numpy |
耗時:
Raspberry Pi B+: 小于45分鐘
Raspberry Pi 2: 小于15分鐘
下載和解壓OpenCV:
1 2 3 | $ 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 |
安裝:
1 2 3 | $ 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 .. |
耗時:
Raspberry Pi B+: 小于3分鐘
Raspberry Pi 2: 小于1.5分鐘
編譯OpenCV:
1 | $ make |
重要:確定你在cv虛擬環(huán)境中,OpenCV也要根據(jù)該環(huán)境中的Python和NumPy中進行編譯。否則的話,OpenCV就會和系統(tǒng)中的Python和NumPy編譯在一起,會產(chǎn)生各種問題。
耗時:
Raspberry Pi B+: 小于 9.5 小時
Raspberry Pi 2: 小于2.8小時
最后,我們安裝OpenCV:
1 2 | $ sudo make install $ sudo ldconfig |
耗時:
Raspberry Pi B+: 小于 3分鐘
Raspberry Pi 2: 小于1分鐘
進行到這一步的時候,OpenCV已經(jīng)應(yīng)該已經(jīng)安裝到/usr/local/lib/python2.7/site-packages中了。
但是為了在cv虛擬環(huán)境中使用OpenCV,我們先需要符合鏈接到我們的site-packages目錄:
1 2 3 | $ 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 |
最后,我們測試一下OpenCV和Python的安裝:
1 2 3 4 5 | $ workon cv $ python >>> import cv2 >>> cv2.__version__ '2.4.10' |
OpenCV和Python已經(jīng)成功安裝到你的Raspberry Pi了。
這是在我的Raspberry Pi上的運行例子,我ssh登錄到 Raspberry Pi,然后讀取和顯示一幅圖像。
這篇博文中,我詳細介紹了如何在Raspberry Pi 2 /Raspberry Pi B+上安裝Python和OpenCV。也提供了他們的安裝耗時,請酌情考慮你的安裝。
隨著Raspberry Pi的升級,安裝指令可能有所變化。如果你遇到一些極端情況或安裝指令的變化,請隨時聯(lián)系我。當然我也不能保證每封郵件都能回復(fù),所以最好是將如何在 Raspberry Pi上安裝OpenCV和Python的方法總結(jié)成一個列表。
不久以后,我會講如何在Raspberry Pi操作其附加的camera。
在那之前,看看PyImageSearch Gurus計算機視覺課程。我們將在其中一些工程中用到Raspberry Pi,就比如說構(gòu)建一個監(jiān)控應(yīng)用來進行房間內(nèi)部的運動檢測和人員跟蹤。
聯(lián)系客服