樹莓派下opencv3.4.0的安裝與錯誤處理(python)
1 opencv3.4.0的下載下傳
-
可以在樹莓派的終端界面通過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系統
可以在樹莓派中斷直接進行解壓縮及安裝
-
安裝好numpy
這個是python的科學計算庫
樹莓派終端輸入以下代碼
sudo pip3 install numpy
結果如下圖所示:

2) 在樹莓派設定中把根目錄擴大到整個SD卡
樹莓派終端輸入以下代碼:
sudo raspi-config
然後出現下圖所示界面:
選擇“7 Advanced Options”
出現如下界面:
選擇“A1 Expand Filesystem”,将根目錄擴充到這個SD卡,充分利用SD卡的存儲空間。如果不進行這一步,後續指令會出現卡死。
“ESC”退出設定界面。
3) 啟用攝像頭
把攝像頭安裝在樹莓派主機闆上,確定安裝無誤且牢固後,在樹莓派終端輸入以下代碼:
sudo raspi-config
然後出現下圖所示界面:
選擇“5 Interfacing Options”, 出現如下界面:
選擇“P1 Camera”,
依次出現上圖所示内容,選擇“是” 、“确定”,最後“ESC”退出即可。
做完步驟2)擴大目錄到整個SD卡和步驟3)啟用攝像頭後,重新開機樹莓派,終端輸入:
sudo reboot
3 opencv3.4.0的安裝
-
安裝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
- 配置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
注意:此處為一行代碼,不要分行
接下來就是漫長的等待了,這個過程可能你可以去做一些别的事情。
上面兩圖就是配置成功和配置失敗的界面,失敗的話就得按照上述方法繼續配置。
溫馨提示:建議在網絡環境較好的地方執行該步驟,推薦使用有線網絡
5) 編譯
保證樹莓派有至少5G的存儲空間,建議本指令用樹莓派桌面上的指令行工具運作,而不要使用遠端ssh連接配接。因為執行指令時間太長,中途如果ssh斷線的話無法得知是否已經安裝完畢。
cd /home/pi/Downloads/opencv-3.4.0/build
make && sudo make install
溫馨提示:建議在網絡環境較好的地方執行該步驟,推薦使用有線網絡
接下來便是漫長等待的過程,大約需要等待一個小時多的時間。
此時opencv3.4.0就安裝好了。
接下來就是測試了。
4 測試
終端輸入:
python3
import cv2
cv2.__version__
如果出現下圖的結果,說明OpenCV3.4.0安裝成功
5 編譯過程中出現的問題
-
在編譯到75%左右時可能會出現:
openc_contrib 提示缺少boostdesc_bgm.i檔案而出錯
(沒有此錯誤的可以忽略)
這個是由于官方所給的那兩個包不全。
解決方法如下:
把我提供的缺失檔案包中所有帶i結尾的檔案全部都拷貝到 opencv_contrib/modules/xfeatures2d/src/ 路徑下即可
樹莓派安裝opencv缺失的檔案:
連結:https://download.csdn.net/download/alpha_hawking/14922902
-
在編譯到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目錄下即可解決。
-
對于樹莓派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的安裝問題應該就解決了。此方法本人親測有效,希望能給各位帶來幫助!此篇部落格中若有錯誤,歡迎大家指正交流!!!