計(jì)算機(jī)視覺庫/人臉識(shí)別,Linux下部署​OpenCV詳解
OpenCV(Open source Computer Vision Library)是一套關(guān)于計(jì)算機(jī)視覺的開放源代碼的API函數(shù)庫,綁定了C++,Python和Java,并支持所有主要操作系統(tǒng)。它可以利用多核處理的優(yōu)勢(shì),并具有GPU加速功能以實(shí)現(xiàn)實(shí)時(shí)操作。
OpenCV具有廣泛的應(yīng)用,包括醫(yī)學(xué)圖像分析,拼接街景圖像,監(jiān)視視頻,檢測(cè)和識(shí)別人臉,跟蹤運(yùn)動(dòng)對(duì)象,提取3D模型等等。
本文介紹如何在Ubuntu 20.04上安裝OpenCV。選擇最適合您的安裝方法。要從源代碼安裝最新穩(wěn)定版本的OpenCV,請(qǐng)從本教程向下滾動(dòng)到“源代碼安裝OpenCV”部分。
從Ubuntu倉庫安裝OpenCV
可從默認(rèn)的Ubuntu 20.04倉庫安裝OpenCV。要安裝它,請(qǐng)運(yùn)行:
- linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install libopencv-dev python3-opencv
上面的命令將安裝運(yùn)行OpenCV所需的所有軟件包。
通過導(dǎo)入cv2模塊并打印OpenCV版本來驗(yàn)證安裝:
- linuxmi@linuxmi:~/www.linuxmi.com$ python3 -c "import cv2; print(cv2.__version__)"
在撰寫本文時(shí),倉庫中的版本為4.2:
輸出:
- 4.2.0
從源代碼安裝OpenCV
從源代碼構(gòu)建OpenCV庫可以使您擁有最新的可用版本。它將針對(duì)您的特定系統(tǒng)進(jìn)行優(yōu)化,并且您將完全控制構(gòu)建選項(xiàng)。這是安裝OpenCV的推薦方法。
執(zhí)行以下步驟從源代碼安裝最新的OpenCV版本:
安裝構(gòu)建工具和依賴項(xiàng):
- 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
在撰寫本文時(shí),github倉庫中的默認(rèn)版本為4.3.0。如果要安裝舊版本的OpenCV,請(qǐng)?jiān)赾d上同時(shí)打開opencv和opencv_contrib目錄,然后運(yùn)行g(shù)it checkout <opencv-version>
下載完成后,創(chuàng)建一個(gè)臨時(shí)構(gòu)建目錄,并導(dǎo)航至該目錄:
- cd ~/opencv_build/opencv
- mkdir -p build && cd build
使用CMake設(shè)置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ù)您的處理器修改-j標(biāo)志。如果您不知道處理器的內(nèi)核數(shù),可以通過鍵入nproc找到它。
編譯可能要花費(fèi)幾分鐘或更長時(shí)間,具體取決于您的系統(tǒng)配置。
使用以下方法安裝OpenCV:
- sudo make install
要驗(yàn)證安裝,請(qǐng)鍵入以下命令,您將看到OpenCV版本。
C++綁定:
- pkg-config --modversion opencv4
輸出
- 4.2.0
Python綁定:
- python3 -c "import cv2; print(cv2.__version__)"
輸出
- 4.3.0-dev
總結(jié)
我們向您展示了兩種在Ubuntu 20.04計(jì)算機(jī)上安裝OpenCV的方法。您選擇的方法取決于您的需求和偏好。盡管從Ubuntu存儲(chǔ)庫中安裝打包版本更容易,但是從源代碼構(gòu)建OpenCV給了你更多的靈活性,并且它應(yīng)該是你安裝OpenCV的第一選擇。