在Raspberry Pi 2/B+上安裝Python和OpenCV

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