天天看點

樹莓派下opencv3.4.0的安裝與錯誤處理(python)

樹莓派下opencv3.4.0的安裝與錯誤處理(python)

1 opencv3.4.0的下載下傳

  1. 可以在樹莓派的終端界面通過wegt指令下載下傳(但下載下傳速度可能很慢)

    終端輸入下列代碼進行下載下傳(終端打開快捷鍵:ctrl+alt+t)

cd /home/pi/Downloads

wget https://github.com/Itseez/opencv/archive/3.4.0.zip

wget https://github.com/Itseez/opencv_contrib/archive/3.4.0.zip

           

溫馨提示:建議在網絡環境較好的地方執行該步驟,推薦使用有線網絡

2) 去官方進行下載下傳

溫馨提示:看準版本對應的系統

3) 直接從我在csdn上傳的檔案下載下傳

opencv-3.4.0.zip:

https://download.csdn.net/download/alpha_hawking/14922913

opencv_contrib-3.4.0.zip:

https://download.csdn.net/download/alpha_hawking/14922916

4) 使用百度網盤進行下載下傳

現将網盤連結分享如下:

opencv-3.4.0.zip:

連結:https://pan.baidu.com/s/1Le-d244FZUhTZD3E0mvLhQ

提取碼:ijib

複制這段内容後打開百度網盤手機App,操作更友善哦

opencv_contrib-3.4.0.zip:

連結:https://pan.baidu.com/s/1FC8Y9C0uuNEUW0HjUzihHQ

提取碼:a60t

複制這段内容後打開百度網盤手機App,操作更友善哦

壓縮包下載下傳好之後就可以進行安裝了

2 安裝前期準備

注意:本系統是基于樹莓派的Raspbian系統

可以在樹莓派中斷直接進行解壓縮及安裝

  1. 安裝好numpy

    這個是python的科學計算庫

    樹莓派終端輸入以下代碼

sudo pip3 install numpy
           

結果如下圖所示:

樹莓派下opencv3.4.0的安裝與錯誤處理(python)

2) 在樹莓派設定中把根目錄擴大到整個SD卡

樹莓派終端輸入以下代碼:

sudo raspi-config
           

然後出現下圖所示界面:

樹莓派下opencv3.4.0的安裝與錯誤處理(python)

選擇“7 Advanced Options”

出現如下界面:

樹莓派下opencv3.4.0的安裝與錯誤處理(python)

選擇“A1 Expand Filesystem”,将根目錄擴充到這個SD卡,充分利用SD卡的存儲空間。如果不進行這一步,後續指令會出現卡死。

“ESC”退出設定界面。

3) 啟用攝像頭

把攝像頭安裝在樹莓派主機闆上,確定安裝無誤且牢固後,在樹莓派終端輸入以下代碼:

sudo raspi-config
           

然後出現下圖所示界面:

樹莓派下opencv3.4.0的安裝與錯誤處理(python)

選擇“5 Interfacing Options”, 出現如下界面:

樹莓派下opencv3.4.0的安裝與錯誤處理(python)

選擇“P1 Camera”,

樹莓派下opencv3.4.0的安裝與錯誤處理(python)
樹莓派下opencv3.4.0的安裝與錯誤處理(python)

依次出現上圖所示内容,選擇“是” 、“确定”,最後“ESC”退出即可。

做完步驟2)擴大目錄到整個SD卡和步驟3)啟用攝像頭後,重新開機樹莓派,終端輸入:

sudo reboot
           

3 opencv3.4.0的安裝

  1. 安裝OpenCV所需的庫

    依次在終端輸入以下指令進行安裝:

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

sudo apt-get install libjpeg8-dev -y

sudo apt-get install libtiff5-dev -y

sudo apt-get install libjasper-dev -y

sudo apt-get install libpng12-dev -y

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev -y

sudo apt-get install libgtk2.0-dev -y

sudo apt-get install libatlas-base-dev gfortran -y

           

溫馨提示:建議在網絡環境較好的地方執行該步驟,推薦使用有線網絡

2) 解壓opencv的壓縮包:

cd /home/pi/Downloads
unzip opencv-3.4.0.zip
unzip opencv_contrib-3.4.0.zip

           

注意:在官方或者網盤下載下傳的兄弟們可以把這兩個壓縮包通過Fillzilla或者U盤等方法把檔案傳輸到樹莓派的/home/pi/Downloads目錄下(一定不能錯)。

3) 配置編譯檔案

cd /home/pi/Downloads/opencv-3.4.0
mkdir build
cd build

           
  1. 配置CMAKE
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D OPENCV_EXTRA_MODULES_PATH=/home/pi/Downloads/opencv_contrib-3.4.0/mod
           

注意:此處為一行代碼,不要分行

接下來就是漫長的等待了,這個過程可能你可以去做一些别的事情。

樹莓派下opencv3.4.0的安裝與錯誤處理(python)

上面兩圖就是配置成功和配置失敗的界面,失敗的話就得按照上述方法繼續配置。

溫馨提示:建議在網絡環境較好的地方執行該步驟,推薦使用有線網絡

5) 編譯

保證樹莓派有至少5G的存儲空間,建議本指令用樹莓派桌面上的指令行工具運作,而不要使用遠端ssh連接配接。因為執行指令時間太長,中途如果ssh斷線的話無法得知是否已經安裝完畢。

cd /home/pi/Downloads/opencv-3.4.0/build
make && sudo make install
           

溫馨提示:建議在網絡環境較好的地方執行該步驟,推薦使用有線網絡

接下來便是漫長等待的過程,大約需要等待一個小時多的時間。

樹莓派下opencv3.4.0的安裝與錯誤處理(python)
樹莓派下opencv3.4.0的安裝與錯誤處理(python)
樹莓派下opencv3.4.0的安裝與錯誤處理(python)

此時opencv3.4.0就安裝好了。

接下來就是測試了。

4 測試

終端輸入:

python3
import cv2
cv2.__version__
           

如果出現下圖的結果,說明OpenCV3.4.0安裝成功

樹莓派下opencv3.4.0的安裝與錯誤處理(python)

5 編譯過程中出現的問題

  1. 在編譯到75%左右時可能會出現:

    openc_contrib 提示缺少boostdesc_bgm.i檔案而出錯

    (沒有此錯誤的可以忽略)

    這個是由于官方所給的那兩個包不全。

    解決方法如下:

    把我提供的缺失檔案包中所有帶i結尾的檔案全部都拷貝到 opencv_contrib/modules/xfeatures2d/src/ 路徑下即可

    樹莓派安裝opencv缺失的檔案:

連結:https://download.csdn.net/download/alpha_hawking/14922902

  1. 在編譯到94%左右時可能會出現:

    fatal error: opencv2/xfeatures2d/cuda.hpp: 沒有那個檔案或目錄的錯誤标志 (沒有此錯誤的可以忽略)

    這個是由于之前在樹莓派的python2環境下安裝了opencv所緻

    解決方法如下:

    将/home/pi/Downloads/opencv_contrib-3.4.0/modules/xfeatures2d/include/opencv2目錄下的xfeatures2d檔案夾和xfeatures2d.hpp檔案複制粘貼到

    /home/pi/Downloads/opencv-3.4.0/modules/stitching/include/opencv2目錄下即可解決。

  2. 對于樹莓派4B,在編譯到99%左右時可能會出現:

    make[2]: *** [modules/python3/CMakeFiles/opencv_python3.dir/build.make:63:modules/python3/CMakeFiles/opencv_python3.dir/__/src2/cv2.cpp.o] 錯誤 1

    make[1]: *** [CMakeFiles/Makefile2:21769:modules/python3/CMakeFiles/opencv_python3.dir/all] 錯誤 2

    make: *** [Makefile:163:all] 錯誤 2

    的錯誤标志(沒有此錯誤的可以忽略)

    這個可能是由于系統版本不同和樹莓派版本的不相容所緻。

    解決方法如下:

    首先找到/home/pi/Downloads/opencv-3.4.0/modules/python/src2 中的cv2.cpp檔案,

    然後在第885行把char* 改成 const char* 即可解決,最後繼續上面的編譯操作即可。

這樣,opencv的安裝問題應該就解決了。此方法本人親測有效,希望能給各位帶來幫助!此篇部落格中若有錯誤,歡迎大家指正交流!!!