上一個教程: 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...
- ... 或 Clang
sudo apt install -y clang
- OpenCV 使用 CMake 構建配置工具
sudo apt install -y cmake
- CMake 可以為不同的構建系統生成指令碼,例如 make、ninja
- 安裝 Make...
- ... 或 Ninja
sudo apt install -y ninja-build
- 安裝用於獲取和解壓縮原始碼的工具
- wget 和 unzip...
sudo apt install -y wget unzip
- ... 或 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
- 配置 - 為首選的構建系統生成構建指令碼
- 構建 - 執行實際的編譯過程
- 注意
- 配置過程可以從網際網路下載一些檔案以滿足庫依賴項,連線失敗可能會導致某些模組或功能被關閉或行為不同。有關詳細資訊和完整的配置選項參考,請參閱 OpenCV 安裝概述 和 OpenCV 配置選項參考 教程。
- 如果您在構建過程中遇到問題,請嘗試清理或重新建立構建目錄。配置中的更改(如停用依賴項、修改構建指令碼或將源切換到另一個分支)處理得不太好,可能會導致工作空間損壞。
-
Make 可以並行執行多個編譯過程,
-j<NUM> 選項表示“同時執行 <NUM> 個作業”。Ninja 將自動檢測可用處理器核心的數量,不需要 -j 選項。
檢查構建結果
成功構建後,您將在 build/lib 目錄中找到庫,在 build/bin 目錄中找到可執行檔案(測試、示例、應用程式)
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) 執行安裝
或者
安裝根目錄可以使用 CMAKE_INSTALL_PREFIX 配置引數更改,例如 -DCMAKE_INSTALL_PREFIX=$HOME/.local 安裝到當前使用者的本地目錄。安裝佈局可以使用 OPENCV_*_INSTALL_PATH 引數更改。有關詳細資訊,請參閱 OpenCV 配置選項參考。