樹莓派4的opencv4.1.0--python3.7的開發環境安裝


下文中大部分內容可以順利進行,還有一些問題需要解決。有空增加上來

注意:

1. 整個編譯過程需要的空間超過6G ,編譯前注意 預留好空間。

2.安裝前 還需要安裝 libhdf5 的相關依賴程序 

3.在 cmake -D CMAKE_BUILD_TYPE=RELEASE \      時,千萬注意對應的路徑 ,一定要修改成 實際的路徑 

4.編譯過程中 ,如果出現找不到文件或目錄的情況,在 opencv的源文件中找,然后復制到 opencv_contrib目錄對應位置,並且注意 修改 opencv_contrib中調用源程序的 對應頭文件路徑

 

本文鏈接:https://blog.csdn.net/ninwji/article/details/100798014
文中所采用的系統是官方7-10發布的 buster,系統內已經安裝了python3.7,這里就不提及怎么安裝了。主要是opencv。

 

1. 網速賊慢,需要進行更換樹莓派軟件源,包括系統源與系統更新源,操作方法:


# 編輯 `/etc/apt/sources.list` 文件,原文件所有內容,用以下內容取代:
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib

# 編輯 `/etc/apt/sources.list.d/raspi.list` 文件,原文件所有內容,用以下內容取代:
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
 

 

2.把目錄擴展到整個TF卡

本次搭建OpenCV開發環境,至少選擇16G的TF卡,需要充分利用TF的存儲空間,需要將TF卡空間擴展到整個TF卡。
命令行輸入:

sudo raspi-config

 


回車即可。

3.為加速Python pip安裝速度,特更改Python軟件源,操作方法:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip install pip -U

重啟下

sudo reboot
 安裝numpy

sudo pip3 install numpy
 安裝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
 下載OpenCV4.1.0

git clone -b 4.1.0 --recursive https://github.com/opencv/opencv.git
git clone -b 4.1.0 --recursive https://github.com/opencv/opencv_contrib.git
需要等待一段時間,嫌慢的也可以去官網直接下載完,再拷貝過來

 

4.Cmake  經過配置,可輸出適配於樹莓派平台的Makefile

根據剛才下載的文件路徑進行切換,並在目錄下新建一個build文件夾

cd /home/pi/.../opencv
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/ninwji/opencv4.1.0/opencv_contrib/modules \
-D BUILD_EXAMPLES=ON \
-D WITH_LIBV4L=ON \
-D PYTHON3_EXECUTABLE=/usr/bin/python3.7 \
-D PYTHON_INCLUDE_DIR=/usr/include/python3.7 \
-D PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.7m.so \
-D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include \
..
 

 

注意,以上需要根據具體的環境進行修改,否則會報錯。
其中:

CMAKE_BUILD_TYPE=RELEASE \ 代表編譯類型為發行版本
CMAKE_INSTALL_PREFIX=/usr/local \ 安裝路徑
INSTALL_C_EXAMPLES=ON \ C demo
INSTALL_PYTHON_EXAMPLES=ON \ Python demo
OPENCV_EXTRA_MODULES_PATH=/home/pi/.../opencv/opencv_contrib/modules \ OpenCV Contrib路徑
BUILD_EXAMPLES=ON \ 編譯demo
WITH_LIBV4L=ON \ 開啟Video for Linux
PYTHON3_EXECUTABLE=/usr/bin/python3.7 \ Python3.7路徑
PYTHON_INCLUDE_DIR=/usr/include/python3.7 \ Python3.7 include文件夾
PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.7m.so \ Python3.7庫
PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include \ Python3 Numpy安裝路徑
..
整個過程可能會持續十幾分鍾,需要等。。不過接下來make更久,要幾小時。

 

5 make

在cmake生成Makefile之后,便可進行編譯:輸入並執行:

make


開始自動運行了,左邊有百分比,可以去干點別的事情了。一會兒再回過來看看。

 

在72%的時候遇到了出錯,fatal error: boostdesc_bgm.i: 沒有那個文件或目錄
           #include "boostdesc_bgm.i"

 

這里要做些小的處理,出現這個問題就是boostdesc和vgg文件缺失導致的編譯失敗問題。
首先我們要進入到/home/pi/.........../opencv_contrib/modules/xfeatures2d/src目錄下,

下載此文件https://download.csdn.net/download/ninwji/11739702 將壓縮包內的文件均復制到此目錄下。

 

然后我們繼續 make,不用擔心,這兩小時白等,之前的操作不用完全重新開始。

 

這次跑到73%的時候又出現錯誤了fatal error: features2d/test/

: 沒有那個文件或目錄
 #include "features2d/test/test_detectors_regression.impl.hpp"
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

這個一看是頭文件有點問題哈,再把下面文件夾里的兩個文件拷貝到/home/pi/.........../opencv_contrib/modules/xfeatures2d/test

在打開這個文件,修改下頭文件。

 

 

搞完了之后還有出錯,用一樣的方法,進行修改。

 

后面直到編譯結束都沒遇到出錯了。

 

6.安裝

sudo make install


使用python3 ,import cv2如果沒報錯的話就說明安裝結束了。


————————————————
版權聲明:本文為CSDN博主「最愛鉛筆字」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/ninwji/article/details/100798014


免責聲明!

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



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