首頁 > 軟體

如何在 Raspberry Pi 上安裝 OpenCV

2020-06-16 16:33:59

OpenCV(開源計算機視覺庫)是一個開源計算機視覺庫,具有 C++ , PythonJava 的系結。它用於廣泛的應用,包括醫學影象分析,拼接街景影象,監控視訊,檢測和識別面部,跟蹤移動物體,提取 3D 模型等等。

OpenCV 可以利用多核處理功能,並具有 GPU 加速功能,可實現實時操作。

在本教學中,我們將解釋如何在 Raspberry Pi 上安裝 OpenCV 。

先決條件

我們假設您在 Raspberry Pi 上安裝了 Raspbian

從 Source 安裝 OpenCV

最推薦的安裝 OpenCV 的方法是從原始碼構建庫。這樣您就可以完全控制構建選項, OpenCV 將針對您的系統進行優化。

首先增加交換空間以避免因記憶體問題導致的編譯掛起:

sudo nano /etc/dphys-swapfile

將 CONF_SWAPSIZE 值從預設值更改 100 為 1024 :

的 /etc/dphys-swapfile

CONF_SWAPSIZE=1024

儲存檔案並執行以下命令以使更改生效:

sudo /etc/init.d/dphys-swapfile restart

我們現在可以開始構建 OpenCV 。首先,更新包索引並安裝構建工具和所需的依賴項:

sudo apt update
sudo apt install build-essential cmake git pkg-config libgtk-3-dev libcanberra-gtk*
sudo apt install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev
sudo apt install libjpeg-dev libpng-dev libtiff-dev gfortran openexr libatlas-base-dev opencl-headers
sudo apt install python3-dev python3-numpy libtbb2 libtbb-dev libdc1394-22-dev

建立一個新目錄並從 Github 克隆 OpenCV 和 OpenCV contrib 儲存庫:

mkdir ~/opencv_build && cd ~/opencv_build
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git

在撰寫本文時, GitHub 儲存庫中的預設版本是 4.1.1 版。如果你想安裝 OpenCV 的舊版本,導航既 opencv 和 opencv_contrib 目錄,並執行 git checkout <opencv-version>

克隆儲存庫後,建立一個臨時構建目錄,然後切換到該目錄:

mkdir -p ~/opencv_build/opencv/build
cd ~/opencv_build/opencv/build

使用 CMake 設定 OpenCV 構建設定:

cmake -D CMAKE_BUILD_TYPE=RELEASE 
    -D CMAKE_INSTALL_PREFIX=/usr/local 
    -D INSTALL_C_EXAMPLES=OFF 
    -D INSTALL_PYTHON_EXAMPLES=OFF 
    -D OPENCV_GENERATE_PKGCONFIG=ON 
    -D ENABLE_NEON=ON 
    -D ENABLE_VFPV3=ON 
    -D BUILD_TESTS=OFF 
    -D OPENCV_ENABLE_NONFREE=ON 
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules 
    -D BUILD_EXAMPLES=OFF ..

輸出結果如下所示:

...
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pi/opencv_build/opencv/build

執行 make 以啟動編譯過程:

make -j4

這個過程需要一些時間,大約 1-2 小時,具體取決於 Raspberry Pi 模型。完成後,您將看到如下內容:

...
[100%] Linking CXX shared module ../../lib/python3/cv2.cpython-35m-arm-linux-gnueabihf.so
[100%] Built target opencv_python3

如果編譯在某些時候失敗,由於資源不可用,請 make 再次執行該命令,該過程將從停止的位置繼續。

最後一步是安裝已編譯的 OpenCV 檔案:

sudo make install
...
-- Installing: /usr/local/bin/opencv_version
-- Set runtime path of "/usr/local/bin/opencv_version" to "/usr/local/lib"

要檢查 OpenCV 是否已成功安裝,請鍵入以下命令,您應該看到 OpenCV 版本:

C++庫:

pkg-config --modversion opencv4
4.1.1

Python庫:

python3 -c "import cv2; print(cv2.__version__)"
4.1.1-pre

清理

如果 SD 卡上沒有足夠的可用空間,請刪除原始檔:

rm -rf ~/opencv_build

大量交換使用可能會損壞您的 SD 卡。將交換空間更改回原始大小:

sudo nano /etc/dphys-swapfile

將 CONF_SWAPSIZE 值編輯為 100 :

檔案 /etc/dphys-swapfile

CONF_SWAPSIZE=100

儲存檔案並啟用更改:

sudo /etc/init.d/dphys-swapfile restart

結論

我們已經向您展示了如何在 Raspberry Pi 板上安裝 OpenCV 。從原始碼構建 OpenCV 為您提供了更大的靈活性,它應該是您安裝 OpenCV 時的優先使用的方法。

Ubuntu 18.04.2下編譯安裝OpenCV 3.4.0 過程  https://www.linuxidc.com/Linux/2019-05/158462.htm


IT145.com E-mail:sddin#qq.com