1. 程式人生 > >樹莓派3b pyhon3.5 安裝opencv3.4

樹莓派3b pyhon3.5 安裝opencv3.4

參考了百度文庫、CSDN的各位大佬的安裝教程,重複安裝了好多次都沒有成功。最後在同學的幫助下,在google上找到了解決方法。下面就是所安裝的具體過程。首先要確保有足夠的空間,樹莓派至少要需要16G的SD卡,16G的其實都勉強。

首先安裝依賴包,在進行軟體安裝之前要更新一下現有的軟體包:

sudo apt-get update 

sudo apt-get upgrade  #更新系統,慎重選擇

安裝cmake環境:

unzip的環境安裝:

sudo apt-get install unzip

安裝各種影象格式的包:

I/O視訊包的安裝過程:

I/O視訊包的安裝過程:

   GTK開發庫環境的安裝:

sudo apt-get install libgtk2.0-dev 

再安裝幾個依賴關係進一步優化OpenCV:

對已經安裝的開發環境進行確認(python):

在根目錄下新建一個叫opencv的資料夾,用來存放接下來要用的檔案。然後cd切換到這個目錄下。

cd~ 

mkdir opencv

cd opencv

從網上下載opencv 3.4的原始碼

wget https://github.com/opencv/opencv/archive/3.4.0.zip -O opencv-3.4.0.zip 

unzip opencv-3.4.0.zip

還要下載OpenCV的contrib的儲存庫:

在這裡面opencv和opencv_contrib的版本一定要相同,否則會導致安裝失敗。

需要注意的是很多文章中是用git下載原始碼,opencv這個檔案比較大,如果通過下載原始碼可能需要的時間將會很長。利用用wget的下載壓縮包時間會更短點。如果要能事先在自己電腦上下好,然後拷到樹莓派上那就更好了。

接下來還要安裝python的虛擬環境管理軟體virtualenv和virtualenvwrapper

執行命令:

sudo pip3 install virtualenv virtualenvwrapper新建虛擬環境

配置virtualenvwrapper,將如下命令加入到加入到~/.bashrc的最後

#export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3

source /usr/share/virtualenvwrapper/virtualenvwrapper.sh

執行:

source ~/.bashrc

virtualenv和virtualenvwrapper安裝配置完成後,新建一個名為cv的python3虛擬環境

mkvirtualenv -p /usr/bin/python3 cv

確認已經進入了這個虛擬環境,假如沒有進入,需要用workon進入虛擬環境程式碼如下:

workon cv

如果命令列的左側的括號內cv表示成功進入虛擬環境。

接下來的操作,就是在名為cv的虛擬環境中完成的,這個虛擬環境使用python3建立的。

在樹莓派3B+上安裝numpy

numpy是opencv的依賴包,要先在虛擬環境中安裝一下。

pip install numpy

編譯安裝OpenCV

接著使用CMake設定構建:

cd ~/opencv/opencv-3.4.0/ 

mkdir build 

cd build 

 

這裡面有個特別注意的地方,前面所下載的opencv中的contrib這個附加庫的目錄地址,需要將opencv額外的庫路徑指定給附加庫的這個牡蠣地址。如果出錯的話,則會導致安裝失敗。

下面就開始正式的編譯了。

make

如果採用下面的這個命令,耗費的時間可能更短,但有可能會導致編譯不穩定,有的內容沒有被編譯,如圖5.4所示是樹莓派在編譯的過程:

圖5.4編譯的過程圖

make -j4

按理來說呼叫4個核心來編譯,時間應該會大大縮短。但是據說這樣不是太穩定,容易出錯。直接用make命令單核心編譯的,花了差不多4個小時,據說用4核心,差不多一個半小時。

樹莓派比較慢,編譯兩天,以為樹莓派老是在編譯的過程中宕機。在計算機虛擬機器上編譯最多一個小時,由此可以看出樹莓派跟真正的計算機比起來還是差遠了。

在漫長的編譯等待100%完成後,終於可以安裝了

安裝opencv

sudo make install

sudo ldconfig

為虛擬環境引用類庫

因為這是python3+虛擬環境,將編譯好的so檔案,連結到虛擬環境中。

cd ~/.virtualenvs/opencv/lib/python3.5/site-packages/

如果usr下的local資料夾下的lib庫檔案件下面的python3.5的目錄下的site這個資料夾裡面如果沒有cv2.so的這個檔案,意味這次安裝opencv失敗,需要重新再來一次,再來一到兩天。

安裝完成之後,檢查所安裝的版本號

python

>>> import cv2s

>>> print(cv2.__version__)

3.4.0

若能夠成功顯示opencv的版本號,則代表opencv安裝成功[10]。

 

具體我應該參考了下面的兩個教程:

https://medium.com/@debugvn/installing-opencv-3-3-0-on-ubuntu-16-04-lts-7db376f93961

https://www.python36.com/how-to-install-opencv340-on-ubuntu1604/