溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

樹莓派3b pyhon3.5怎樣安裝opencv3.1

發(fā)布時間:2021-11-19 18:54:28 來源:億速云 閱讀:160 作者:柒染 欄目:互聯(lián)網(wǎng)科技

今天就跟大家聊聊有關(guān)樹莓派3b pyhon3.5怎樣安裝opencv3.1,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

提醒:先確保有足夠大的空間,最好要預(yù)留3,4G的剩余空間吧。

安裝依賴包

老步驟,在進(jìn)行軟件安裝之前首先要更新一下現(xiàn)有的軟件包:

sudo apt-get update  
sudo apt-get upgrade  #更新系統(tǒng),慎重選擇

注意:apt-get update 你要做一下,但是apt-get upgrade除非你安裝不成功,否則不要運(yùn)行,時間有可能會很長...

安裝cmake:

sudo apt-get install build-essential cmake pkg-config

安裝各種圖像格式的包:

sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev

安裝視頻I/O包:

sudo apt-get install libavcodec-dev libavformat-dev libswcale-dev libv4l-dev  
sudo apt-get install libxvidcore-dev libx264-dev

安裝GTK開發(fā)庫:

sudo apt-get install libgtk2.0-dev

再安裝幾個依賴關(guān)系進(jìn)一步優(yōu)化OpenCV:

sudo apt-get install libatlas-base-dev gfortran

確認(rèn)下python開發(fā)環(huán)境的安裝(可以不做):

sudo apt-get install python2.7-dev python3-dev

下載OpenCV源代碼

我在~下新建一個opencv的文件夾,用來存放接下來要用的各種東西。然后切換到這個目錄下。

cd~  
mkdir opencv
cd opencv


下載opencv 3.1源代碼

wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.1.0.zip  
unzip opencv.zip

全面安裝后,我們還需抓取OpenCV的contrib的存儲庫:

wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.1.0.zip  
unzip opencv_contrib.zip

警告:opencv和opencv_contrib的版本一定要相同?。。?!
注意:很多文章中此處是用git下載源代碼的,但是opencv比較大,下載源代碼的話時間將會很長。用wget的方式下載壓縮包時間可控點(diǎn)。最省時間的方法:在windows下用迅雷下載這兩個zip文件,然后放到樹莓派下解壓縮,這種時間最少。
 

安裝python的虛擬環(huán)境管理軟件


那就是:virtualenv和virtualenvwrapper
我已經(jīng)寫了一篇文章了,具體安裝過程參考:
https://my.oschina.net/u/2396236/blog/1632522

新建虛擬環(huán)境
virtualenv和virtualenvwrapper安裝配置完成后,新建一個名為opencv的python3虛擬環(huán)境

mkvirtualenv -p /usr/bin/python3 opencv

確認(rèn)自己已經(jīng)進(jìn)入了這個虛擬環(huán)境,假如沒有進(jìn)入,需要用workon進(jìn)入虛擬環(huán)境

workon opencv

進(jìn)入虛擬環(huán)境后,在命令行的左側(cè)的括號內(nèi)會出現(xiàn)虛擬環(huán)境的名字
樹莓派3b pyhon3.5怎樣安裝opencv3.1
接下來我們的操作,就是在名為opencv的虛擬環(huán)境中完成的,這個虛擬環(huán)境使用python3創(chuàng)建的。
 

安裝numpy


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

pip install numpy

編譯安裝OpenCV

接著我們使用CMake設(shè)置構(gòu)建:

cd ~/opencv/opencv-3.1.0/  
mkdir build  
cd build  
cmake -D CMAKE_BUILD_TYPE=RELEASE \  
    -D CMAKE_INSTALL_PREFIX=/usr/local \  
    -D INSTALL_PYTHON_EXAMPLES=ON \  
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv/opencv_contrib-3.1.0/modules \  
    -D BUILD_EXAMPLES=ON ..

注意:這里格外需要注意下OPENCV_EXTRA_MODULES_PATH這個參數(shù),要指定你自己的opencv contrib目錄地址

接下來就要進(jìn)行編譯了

make

大部分文章會建議用

make -j4

來調(diào)用4個核心來編譯,時間大大縮短。但是據(jù)說這樣不是太穩(wěn)定,容易出錯。我直接用make命令單核心編譯的,花了差不多4個小時,據(jù)說用4核心,差不多一個半小時。大家不妨一試。

make的過程中,很可能報如下的錯,讓人倒吸一口涼氣:

Generating precomp.hpp.gch/opencv_core_Release.gch
 2 In file included from /usr/include/c++/6/bits/stl_algo.h:59:0,
 3                  from /usr/include/c++/6/algorithm:62,
 4                  from /opt/opencv/opencv-3.1.0/modules/core/include/opencv2/core/base.hpp:53,
 5                  from /opt/opencv/opencv-3.1.0/modules/core/include/opencv2/core.hpp:54,
 6                  from /opt/opencv/opencv-3.1.0/modules/core/include/opencv2/core/utility.hpp:52,
 7                  from /opt/opencv/build/modules/core/precomp.hpp:49:
 8 /usr/include/c++/6/cstdlib:75:25: fatal error: stdlib.h: 沒有那個文件或目錄
 9  #include_next <stdlib.h>

參考https://www.cnblogs.com/liutianchen/p/6089878.html
大概的意思是/usr/include/c++/6/cstdlib文件中的include_next在這里不好使,得老老實實用include代替。于是我們需要修改報錯部分的源代碼,將include_next 修改成 include。make的過程中,大概有兩處需要按此修改。就行了。

等漫長的編譯100%完成后,終于可以安裝了

安裝opencv

sudo make install
sudo ldconfig

為虛擬環(huán)境引用類庫

如果是python3+虛擬環(huán)境,將編譯好的so文件,鏈接到虛擬環(huán)境中。

cd ~/.virtualenvs/opencv/lib/python3.5/site-packages/
ln -s /usr/local/lib/python3.5/dist-packages/cv2.cpython-35m-arm-linux-gnueabihf.so cv2.so

注意,此處又有坑:
所有文章中都指出編譯好的so文件,位于/usr/local/lib/python3.5/site-packages,文件名為cv2.so。
我試驗過兩次,cv2.so原始文件名應(yīng)該是cv2.cpython-35m-arm-linux-gnueabihf.so。兩次生成的目錄名居然不一樣:
第一次:/usr/local/lib/python3.5/下根本沒有site-packages目錄,只有一個dist-packages目錄,dist-packages下也沒有cv2.so文件,卻有一個cv2.cpython-35m-arm-linux-gnueabihf.so文件,這就是opencv編譯好以后的文件。
第二次:site-packages存在,cv2.cpython-35m-arm-linux-gnueabihf.so文件在site-packages目錄下。原因不明。我感覺好慌....

安裝成功,檢查版本號

python

>>> import cv2
>>> print(cv2.__version__)
3.1.0

若成功顯示版本號,則opencv安裝成功。

刪除下載解壓縮的文件和文件夾,這些文件和文件夾都很占用空間:
opencv_contrib.zip opencv.zip  opencv_contrib-3.0.0/ opencv-3.0.0/

看完上述內(nèi)容,你們對樹莓派3b pyhon3.5怎樣安裝opencv3.1有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI