樹莓派3b+ python3.5+opencv3.4.1下載安裝及配置詳解


樹莓派3b+ python3.5+opencv3.4.1下載安裝及配置詳解

 

經過痛苦歷程后總算安裝和配置好了 opencv3

記錄一下 可行的樹莓派 3B+  python3.5+opencv3.4.1下載安裝及配置

1 擴大TF的空間

擴大TF卡的空間,如果不做這步操作,后面會出問題,比如卡死。輸入(命令行)

sudo raspi-config

然后選擇" Advanced Options "然后選擇" Expand Filesystem "然后重啟樹莓派

 

 

 

2 OpenCV-3.4.1和OpenCV_Contrib-3.4.1源文件下載

這里大家可以去官網下載,直接分享下載鏈接:

https://github.com/opencv/opencv/archive/3.4.1.zip

https://github.com/opencv/opencv_contrib/archive/3.4.1.zip

  下載后在 /home/pi/Downloads下創建opencv文件夾解壓 如圖:

 

3 開啟虛擬環境venv(在樹莓派上開啟虛擬可以解決一些版本不兼容的問題)

     3.1 安裝 virtualenv

 sudo apt-get install virtualenv -y

    3.2  創建虛擬環境(以python3.5為例,路徑自定義)

virtualenv -p /home/pi/venv/bin/python3.5 venv

   3.3  開啟虛擬環境

source /home/pi/venv/bin/activate

 開啟后會帶 venv 的標識

4 在虛擬環境下安裝numpy

sudo pip3 install numpy

  安裝后退出虛擬環境

deactivate

 5 安裝需要依賴的庫

開始為OpenCV安裝做准備,配置所需的庫(一次一行)


sudo apt-get install build-essential cmake pkg-config
sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install libatlas-base-dev gfortran
sudo apt-get install python2.7-dev python3-dev

 

6  opencv的編譯

 6.1 編譯要用到CMake,這里我們使用圖形界面,安裝cmake-qt-gui:

  sudo apt-get install cmake-qt-gui

  6.2 首先進到opencv-3.4.1的目錄下,新建build文件夾,然后在終端激活python虛擬環境的條件下,打開CMake:

source /home/pi/venv/bin/activate

cd /Downloads/opencv/opencv-3.4.1

mkdir build

cmake-gui

 

 6.3 選擇源文件路徑,編譯文件夾選擇剛才新建的build文件夾,

點擊左下角Configure,第一次完成是紅色的,再點一l兩次就變成白色了,如圖:

 

6.4 然后我們查找OPENCV_EXTRA_MODULES_PATH項,將OpenCV_Contrib-3.4.1的路徑填進去,

點擊Configure,如圖:

這樣Opencv_contrib-3.4.1就被添加進去了,然后我們修改關於Python的參數,在查找欄鍵入PYTHON:取消BIULD_opencv_python2,勾選INSTALL_PYTHON_EXMAPLES,這樣就設置為編譯Python3的版本了,

再次點擊Configure,如圖:

然后就可以生成編譯文件了,點擊Generate!

然后退出CMake,進入build文件夾下,此處再次確認,swap分區修改為至少5GB,python3的虛擬環境已經激活!

 下述命令開始編譯:

cd build
make -j2  //或者 make -j4 或者 make  推薦 make -j2 , 用make -j4 樹莓派感覺受不了 make 感覺慢

然后就開始幾個小時等待了 中途不出錯 就安好了 ,若報錯 就重新make 一下 不行的話 就看報什么錯 對症下葯了

注意,在此期間,樹莓派要供電充足,不要運行其它任務,以免因為內存不夠什么的報錯。

 

 

編譯完成

make命令執行完成之后,執行下面的命令安裝

sudo make install

sudo ldconfig

最后一步,因編譯后的庫文件cv2.so被輸出為cv2.cpython-35m-arm-linux-gnueabihf.so,這將導致該模塊在Python3中無法import進來,

我們到該庫文件的安裝目錄/usr/local/lib/python3.5/site-packages/下,將其重命名為cv2.so:

  ls -l /usr/local/lib/python3.5/site-packages/

  cd /usr/local/lib/python3.5/site-packages/

  sudo mv cv2.cpython-35m-arm-linux-gnueabihf.so cv2.so

再返回Python3的虛擬環境目錄下在對應的文件夾內建立一個鏈接,像這樣:   

 cd /home/pi/venv/lib/python3.5/site-packages/

 ln -s /usr/local/lib/python3.5/site-packages/cv2.so cv2.so

這兩步就解決了cv2模塊無法導入的問題,現在讓我們嘗試在Python3中導入模塊並打印版本號: 

  注意 需要如果使用opencv 都得在虛擬環境中使用 (要做人臉識別什么的都得在虛擬環境中執行)

    import cv2

    print(cv2.__version__)

出現版本號則成功了

還有一點 用opencv 時可能會因為權限問題 報錯 所以給venv改改權限

sudo chmod 777 venv

 

點點贊 關注一下  ~_~

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM