樹莓派(Raspbian Buster)下的opencv、opencv_contrib的源碼安裝


 

Opencv介紹

OpenCV是一個基於BSD許可(開源)發行的跨平台計算機視覺和機器學習軟件庫,可以運行在Linux、Windows、Android和Mac OS操作系統上。它輕量級而且高效——由一系列 C 函數和少量 C++ 類構成,同時提供了Python、Ruby、MATLAB等語言的接口,實現了圖像處理和計算機視覺方面的很多通用算法。
下載的opencv安裝包是基本包,而opencv_contrib是有額外模塊的包,比如人臉識別中的face模塊。源碼安裝時,opencv_contrib只能在opencv配置編譯時一起帶上,不能在opencv編譯安裝后再裝。

安裝依賴包

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

 

下載源碼包

1、 利用命令下載

 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

 

但是這樣一般下載比較慢

2、 先下載到電腦本地,再傳到樹莓派上

opencv官方下載地址
opencv_contrib官方下載地址

這里我下載的是opencv 4.3.0版本的

opencv_contrib也是下載對應的4.3.0版本

下載完后通過文件傳輸工具或者U盤傳輸到樹莓派中
這里通過文件傳輸工具FileZilla傳輸

配置Cmake

進入到opencv后,新建個build目錄用來編譯

cd /home/pi/Downloads/opencv-4.3.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=../../opencv_contrib-4.3.0/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=…/…/opencv_contrib-4.3.0/modules \ OpenCV_Contrib路徑,路徑以你下載的open_contrib包為准
BUILD_EXAMPLES=ON \ 編譯demo
WITH_LIBV4L=ON \ 開啟Video for Linux
PYTHON3_EXECUTABLE=/usr/bin/python3.7 \ Python3路徑
PYTHON_INCLUDE_DIR=/usr/include/python3.7 \ Python3 include文件夾
PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.7m.so \ Python3庫
PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include \ Python3 Numpy安裝路徑
… 表示Makefile在上層目錄

配置時間為幾分鍾

編譯

配置成功后進行編譯

sudo make -j4

 

-j4 表示可4個線程同時進行,速度較快,但需要根據樹莓派配置來決定,如果太大,可能會導致在編譯時死機。

編譯過程會持續幾個小時,非常之久。

!注意:即使是官網的源碼包,在編譯過程中也可能會出現錯誤,出現錯誤后根據錯誤提示通過搜索引擎查找解決辦法,因為是官網包,所以遇到了問題也會有很多人遇到過。在這里我遇到了兩個問題,列舉一下幫助遇到相同問題的后人。

1、fatal error: boostdesc_bgm.i: No such file or directory
SHOUT OUT TO 安裝OpenCV時提示缺少boostdesc_bgm.i文件的問題解決方案

百度雲鏈接:https://pan.baidu.com/s/1BeYF8kqEZLAJYQj-MvxpmA
提取碼:e1wc

下載所有文件復制到**opencv_contrib/modules/xfeatures2d/src/**下
繼續執行

sudo make -j4

 

2、fatal error: features2d/test/test_detectors_regression.impl.hpp: No such file or directory
SHOUT OUT TO github issue熱心網友

cp /home/pi/Downloads/opencv-4.3.0/modules/features2d  /home/pi/Downloads/opencv-4.3.0/build

 

安裝

sudo make install

 

安裝過程比較快,在幾分鍾之內。

檢測是否安裝成功

python3

 

進入python3的交互模式

import cv2

 

沒有錯誤提示說明opencv安裝成功

from cv2 imort face

沒有錯誤提示說明opencv_contrib安裝成功

卸載

cd /home/pi/Downloads/opencv-4.3.0/build 

進入到opencv下的build

sudo make uninstall

卸載opencv及opencv_contrib

cd /usr
sudo find . -name "*opencv*" | xargs sudo rm -rf 

刪除系統相關文件
xargs表示將管道前的結果作為管道后的參數


STOUT OUT TO

OpenCV官網安裝指導
微雪課堂搭建OpenCV

 


免責聲明!

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



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