OpenCV 4.12.0
開源計算機視覺
載入中...
搜尋中...
無匹配項
Linux 中的安裝

上一個教程: OpenCV 環境變數參考
下一個教程: 將 OpenCV 與 gdb 驅動的 IDE 一起使用

原始作者Ana Huamán
相容性OpenCV >= 3.0

快速入門

構建核心模組

# 安裝最基本的前提條件(以 Ubuntu 18.04 為例)
sudo apt update && sudo apt install -y cmake g++ wget unzip
# 下載並解壓原始碼
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.x.zip
unzip opencv.zip
# 建立構建目錄
mkdir -p build && cd build
# 配置
cmake ../opencv-4.x
# 構建
cmake --build .

使用 opencv_contrib 構建

# 安裝最基本的前提條件(以 Ubuntu 18.04 為例)
sudo apt update && sudo apt install -y cmake g++ wget unzip
# 下載並解壓原始碼
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.x.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.x.zip
unzip opencv.zip
unzip opencv_contrib.zip
# 建立構建目錄並切換到該目錄
mkdir -p build && cd build
# 配置
cmake -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.x/modules ../opencv-4.x
# 構建
cmake --build .

詳細過程

本節提供有關構建過程的更多詳細資訊,並描述替代方法和工具。請參閱 OpenCV 安裝概述 教程以獲取常規安裝詳細資訊,並參閱 OpenCV 配置選項參考 以獲取配置選項文件。

安裝編譯器和構建工具

  • 要編譯 OpenCV,您需要一個 C++ 編譯器。通常是 G++/GCC 或 Clang/LLVM
    • 安裝 GCC...
      sudo apt install -y g++
    • ... 或 Clang
      sudo apt install -y clang
  • OpenCV 使用 CMake 構建配置工具
    sudo apt install -y cmake
  • CMake 可以為不同的構建系統生成指令碼,例如 makeninja
    • 安裝 Make...
      sudo apt install -y make
    • ... 或 Ninja
      sudo apt install -y ninja-build
  • 安裝用於獲取和解壓縮原始碼的工具
    • wgetunzip...
      sudo apt install -y wget unzip
    • ... 或 git
      sudo apt install -y git

下載原始碼

有兩種獲取 OpenCV 原始碼的方法

  • 使用 Web 瀏覽器或任何下載工具下載儲存庫快照(約 80-90Mb)並解壓縮它...
    wget -O opencv.zip https://github.com/opencv/opencv/archive/4.x.zip
    unzip opencv.zip
    mv opencv-4.x opencv
  • ... 或使用 git 將儲存庫克隆到本地計算機以獲取完整的更改歷史記錄(>470Mb)
    git clone https://github.com/opencv/opencv.git
    git -C opencv checkout 4.x
注意
其他分支、版本或提交的快照可以在 GitHub官方下載頁面 上找到。

配置和構建

  • 建立構建目錄
    mkdir -p build && cd build
  • 配置 - 為首選的構建系統生成構建指令碼
    • 對於 make...
      cmake ../opencv
    • ... 或對於 ninja
      cmake -GNinja ../opencv
  • 構建 - 執行實際的編譯過程
    • 使用 make...
      make -j4
    • ... 或 ninja
      ninja
注意
配置過程可以從網際網路下載一些檔案以滿足庫依賴項,連線失敗可能會導致某些模組或功能被關閉或行為不同。有關詳細資訊和完整的配置選項參考,請參閱 OpenCV 安裝概述OpenCV 配置選項參考 教程。
如果您在構建過程中遇到問題,請嘗試清理或重新建立構建目錄。配置中的更改(如停用依賴項、修改構建指令碼或將源切換到另一個分支)處理得不太好,可能會導致工作空間損壞。
Make 可以並行執行多個編譯過程,-j<NUM> 選項表示“同時執行 <NUM> 個作業”。Ninja 將自動檢測可用處理器核心的數量,不需要 -j 選項。

檢查構建結果

成功構建後,您將在 build/lib 目錄中找到庫,在 build/bin 目錄中找到可執行檔案(測試、示例、應用程式)

ls bin
ls lib

CMake 包檔案將位於構建根目錄中

ls OpenCVConfig*.cmake
ls OpenCVModules.cmake

安裝

警告
安裝過程只會將檔案複製到預定義的位置並進行少量修補。使用此方法安裝不會將 opencv 整合到系統包登錄檔中,因此,例如,opencv 無法自動解除安裝。由於可能與系統軟體包衝突,我們不建議普通使用者進行系統範圍的安裝。

預設情況下,OpenCV 將安裝到 /usr/local 目錄,所有檔案將被複制到以下位置

  • /usr/local/bin - 可執行檔案
  • /usr/local/lib - 庫 (.so)
  • /usr/local/cmake/opencv4 - cmake 包
  • /usr/local/include/opencv4 - 標頭檔案
  • /usr/local/share/opencv4 - 其他檔案(例如,XML 格式的訓練級聯)

由於 /usr/local 由 root 使用者擁有,因此應使用提升的許可權 (sudo) 執行安裝

sudo make install

或者

sudo ninja install

安裝根目錄可以使用 CMAKE_INSTALL_PREFIX 配置引數更改,例如 -DCMAKE_INSTALL_PREFIX=$HOME/.local 安裝到當前使用者的本地目錄。安裝佈局可以使用 OPENCV_*_INSTALL_PATH 引數更改。有關詳細資訊,請參閱 OpenCV 配置選項參考