主页 > 系统 > 计算机视觉库/人脸识别,Linux下部署​OpenCV详解

计算机视觉库/人脸识别,Linux下部署​OpenCV详解

Linux公社 系统 2020年07月10日

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。要安装它,请运行:


  1. linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install libopencv-dev python3-opencv 

上面的命令将安装运行OpenCV所需的所有软件包。

通过导入cv2模块并打印OpenCV版本来验证安装:


  1. linuxmi@linuxmi:~/www.linuxmi.com$ python3 -c "import cv2; print(cv2.__version__)" 

在撰写本文时,仓库中的版本为4.2:

输出:


  1. 4.2.0 

从源代码安装OpenCV

从源代码构建OpenCV库可以使您拥有最新的可用版本。它将针对您的特定系统进行优化,并且您将完全控制构建选项。这是安装OpenCV的推荐方法。

执行以下步骤从源代码安装最新的OpenCV版本:

安装构建工具和依赖项:


  1. linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install build-essential cmake git pkg-config libgtk-3-dev \  
  2. libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \  
  3. libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev \  
  4. gfortran openexr libatlas-base-dev python3-dev python3-numpy \  
  5. libtbb2 libtbb-dev libdc1394-22-dev libopenexr-dev \  
  6. libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev 

克隆OpenCV和OpenCV contrib仓库:


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

在撰写本文时,github仓库中的默认版本为4.3.0。如果要安装旧版本的OpenCV,请在cd上同时打开opencv和opencv_contrib目录,然后运行git checkout <opencv-version>

下载完成后,创建一个临时构建目录,并导航至该目录:


  1. cd ~/opencv_build/opencv  
  2. mkdir -p build && cd build 

使用CMake设置OpenCV build:


  1. cmake -D CMAKE_BUILD_TYPE=RELEASE \  
  2. -D CMAKE_INSTALL_PREFIX=/usr/local \  
  3. -D INSTALL_C_EXAMPLES=ON \  
  4. -D INSTALL_PYTHON_EXAMPLES=ON \  
  5. -D OPENCV_GENERATE_PKGCONFIG=ON \  
  6. -D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules \  
  7. -D BUILD_EXAMPLES=ON .. 

输出将如下所示:


  1. -- Configuring done  
  2. -- Generating done  
  3. -- Build files have been written to: /home/vagrant/opencv_build/opencv/build 

开始编译过程:


  1. make -j8 

根据您的处理器修改-j标志。如果您不知道处理器的内核数,可以通过键入nproc找到它。

编译可能要花费几分钟或更长时间,具体取决于您的系统配置。

使用以下方法安装OpenCV:


  1. sudo make install 

要验证安装,请键入以下命令,您将看到OpenCV版本。

C++绑定:


  1. pkg-config --modversion opencv4 

输出


  1. 4.2.0 

Python绑定:


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

输出


  1. 4.3.0-dev 

总结

我们向您展示了两种在Ubuntu 20.04计算机上安装OpenCV的方法。您选择的方法取决于您的需求和偏好。尽管从Ubuntu存储库中安装打包版本更容易,但是从源代码构建OpenCV给了你更多的灵活性,并且它应该是你安装OpenCV的第一选择。

标签: OpenCV   Linux   代码