計算機視覺庫/人臉識別,Linux下部署​OpenCV詳解
OpenCV(Open source Computer Vision Library)是一套關于計算機視覺的開放源代碼的API函數庫,綁定了C++,Python和Java,并支持所有主要操作系統。它可以利用多核處理的優勢,并具有GPU加速功能以實現實時操作。
OpenCV具有廣泛的應用,包括醫學圖像分析,拼接街景圖像,監視視頻,檢測和識別人臉,跟蹤運動對象,提取3D模型等等。
本文介紹如何在Ubuntu 20.04上安裝OpenCV。選擇最適合您的安裝方法。要從源代碼安裝最新穩定版本的OpenCV,請從本教程向下滾動到“源代碼安裝OpenCV”部分。
從Ubuntu倉庫安裝OpenCV
可從默認的Ubuntu 20.04倉庫安裝OpenCV。要安裝它,請運行:
- linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install libopencv-dev python3-opencv
上面的命令將安裝運行OpenCV所需的所有軟件包。
通過導入cv2模塊并打印OpenCV版本來驗證安裝:
- linuxmi@linuxmi:~/www.linuxmi.com$ python3 -c "import cv2; print(cv2.__version__)"
在撰寫本文時,倉庫中的版本為4.2:
輸出:
- 4.2.0
從源代碼安裝OpenCV
從源代碼構建OpenCV庫可以使您擁有最新的可用版本。它將針對您的特定系統進行優化,并且您將完全控制構建選項。這是安裝OpenCV的推薦方法。
執行以下步驟從源代碼安裝最新的OpenCV版本:
安裝構建工具和依賴項:
- linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install build-essential cmake git pkg-config libgtk-3-dev \
- libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \
- libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev \
- gfortran openexr libatlas-base-dev python3-dev python3-numpy \
- libtbb2 libtbb-dev libdc1394-22-dev libopenexr-dev \
- libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
克隆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.3.0。如果要安裝舊版本的OpenCV,請在cd上同時打開opencv和opencv_contrib目錄,然后運行git checkout <opencv-version>
下載完成后,創建一個臨時構建目錄,并導航至該目錄:
- cd ~/opencv_build/opencv
- mkdir -p build && cd build
使用CMake設置OpenCV 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_GENERATE_PKGCONFIG=ON \
- -D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules \
- -D BUILD_EXAMPLES=ON ..
輸出將如下所示:
- -- Configuring done
- -- Generating done
- -- Build files have been written to: /home/vagrant/opencv_build/opencv/build
開始編譯過程:
- make -j8
根據您的處理器修改-j標志。如果您不知道處理器的內核數,可以通過鍵入nproc找到它。
編譯可能要花費幾分鐘或更長時間,具體取決于您的系統配置。
使用以下方法安裝OpenCV:
- sudo make install
要驗證安裝,請鍵入以下命令,您將看到OpenCV版本。
C++綁定:
- pkg-config --modversion opencv4
輸出
- 4.2.0
Python綁定:
- python3 -c "import cv2; print(cv2.__version__)"
輸出
- 4.3.0-dev
總結
我們向您展示了兩種在Ubuntu 20.04計算機上安裝OpenCV的方法。您選擇的方法取決于您的需求和偏好。盡管從Ubuntu存儲庫中安裝打包版本更容易,但是從源代碼構建OpenCV給了你更多的靈活性,并且它應該是你安裝OpenCV的第一選擇。