樹莓派和ubantu安裝運行在Python3(3.6)上的OpenCV(3.4)

樹莓派和ubantu安裝運行在Python3(3.6)上的OpenCV(3.4)

1、安裝numpy

sudo pip3 install numpy

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

sudo raspi-config

選擇 Advanced Options->Expand Filesystem
配置至少需要16g內存卡,如果原本就是16G的鏡像,可以忽略此操作

3、安裝OpenCV所需的庫

運行下面八條命令大概需要(注意倒數第三條命令中要安裝四個-dev軟件包)

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

4、下載OpenCV

下載:
cd /home/pi/Downloads 一定要下載在這裏,後面Cmake會安裝這個路徑配置
wget https://github.com/Itseez/opencv/archive/3.4.0.zip
wget https://github.com/Itseez/opencv_contrib/archive/3.4.0.zip
下載之後,把第一個壓縮包重新命名爲opencv-3.4.0.zip,把第二個壓縮包重新命名爲opencv_contrib-3.4.0.zip

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

5、設置編譯參數

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

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/modules -D BUILD_EXAMPLES=ON -D WITH_LIBV4L=ON PYTHON3_EXECUTABLE=/usr/bin/python3.5 PYTHON_INCLUDE_DIR=/usr/include/python3.5 PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.5m.so PYTHON3_NUMPY_INCLUDE_DIRS=/home/pi/.local/lib/python3.5/site-packages/numpy/core/include ..

------------------------------------------------------------------------------
最後部分出現:
-- Confinguring done
-- Generating done
說明安裝成功,如果沒有安裝成功,肯定是沒有按照我說的配置,注意檢查

6、編譯

注意:保證樹莓派有至少5G的存儲空間

先下載缺少的包
cd /home/pi/Downloads//home/pi/Downloads/modules/xfeatures2d/src/
此目錄中缺少
boostdesc_bgm.i
boostdesc_bgm_bi.i
boostdesc_bgm_hd.i
boostdesc_lbgm.i
boostdesc_binboost_064.i
boostdesc_binboost_128.i
boostdesc_binboost_256.i
vgg_generated_120.i
vgg_generated_64.i
vgg_generated_80.i
vgg_generated_48.i
這幾個包
百度雲鏈接:
鏈接:https://pan.baidu.com/s/1vxzXEVbslXlsDSyJYDrlJQ 
提取碼:s7zs 
把上面的包全部放到/home/pi/Downloads//home/pi/Downloads/modules/xfeatures2d/src/此目錄下


cd /home/pi/Downloads/opencv-3.4.0/build
sudo make
編譯時間比較久,大概需要5個小時,請耐心等待
當make到95%左右會出現一個錯誤:fatal error: opencv2/xfeatures2d/cuda.hpp: No such file or directory
找不到這個頭文件,順藤摸瓜找一下這個頭文件:/home/pi/Downloads/opencv_contrib-3.4.0/modules/xfeatures2d/include/opencv2/xfeatures2d發現這個頭文件是存在

出現這種問題只有一個原因:編譯的路徑沒有保護這個頭文件
所以解決辦法有兩個:
1.找到編譯Cmake地方,找了很久沒找到
2.直接在頭文件哪裏添加絕對路徑(我選擇了這種方法)

找到報錯的地方的頭文件,把#include "opencv2/xfeatures2d/cuda.hpp" 替換爲 #include"/home/pi/Downloads/opencv_contrib-3.4.0/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp"

把兩處修改後重新sudo make一下就通過了

編譯結束後安裝
sudo make install

7、測試是否安裝成功

在Python3上測試OpenCV
安裝好之後,在命令行中輸入python3,回車
import cv2
回車
cv2.__version__
回車
'3.4.0'
出現版本號就是安裝成功了

8、建議

由於安裝時間很長,並且有很多坑需要注意,如果想用樹莓派做opencv的學習的話會話費很長的時間
1.如果你原本sd卡有重要資料的,建議關注公衆號聯繫客服購買帶有opencv的鏡像sd卡
2.如果你原本sd卡中沒有重要資料,建議關注公衆號聯繫客服獲取鏡像
 福利時間 :關注微信公衆號:chengxuyuanxiaofang 
 獲取免費的python嵌入式java等各類資料
 有什麼問題歡迎留言

微信公衆號

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章