在 CentOS 8 上安装 OpenCV

OpenCV( 开源计算机视觉库)是一个开放源代码计算机视觉库,支持所有主要操作系统。它可以利用多核处理的优势,并具有 GPU 加速功能以实现实时操作。

OpenCV 的用途非常广泛,包括医学图像分析,拼接街景图像,监视视频,检测和识别面部,跟踪运动对象,提取 3D 模型等等。

本文介绍了如何在 CentOS 8 上安装 OpenCV。

从 CentOS 储存库安装 OpenCV

可从 CentOS 8 标准存储库中获得 OpenCV 软件包,但是没有针对 Python 的实现。

通过键入以下命令安装 OpenCV 软件包:

sudo dnf install opencv opencv-devel opencv-python

安装完成后,请运行以下命令验证 OpenCV 库是否存在:

pkg-config --modversion opencv
3.4.1

从源代码安装 OpenCV

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

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

  1. 安装必需和可选的依赖项:

    sudo dnf install epel-release git gcc gcc-c++ cmake3 qt5-qtbase-devel \
        python3 python3-devel python3-pip cmake python3-devel python3-numpy \
        gtk2-devel libpng-devel jasper-devel openexr-devel libwebp-devel \
        libjpeg-turbo-devel libtiff-devel tbb-devel libv4l-devel \
        eigen3-devel freeglut-devel mesa-libGL mesa-libGL-devel \
        boost boost-thread boost-devel gstreamer1-plugins-base
    
  2. 克隆 OpenCV 和 OpenCV 的代码库:

    mkdir -p ~/opencv_build &&  cd ~/opencv_build 
    

    在撰写本文时, github 存储库中的默认版本为 4.2.0 。如果要安装旧版本的 OpenCV ,请导航到 opencvopencv_contrib 目录并运行 git checkout <opencv-version>

  3. 下载完成后,创建一个临时构建目录,然后切换到该目录:

    cd ~/opencv_build/opencv &&  mkdir build  &&  cd build 
    git clone https://github.com/opencv/opencv.git
    git clone https://github.com/opencv/opencv_contrib.git
    

    使用以下 CMake 命令配置 OpenCV 构建:

    cmake3 -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
    
  4. 通过运行以下命令开始编译过程:

    make -j8
    

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

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

  5. 使用以下方法安装 OpenCV 库:

    sudo make install
    
  6. 链接文件 opencv4.pc 文件指向 /usr/share/pkgconfig 目录的文件并运行 ldconfig 以重建库缓存。

    sudo ln -s /usr/local/lib64/pkgconfig/opencv4.pc /usr/share/pkgconfig/
    sudo ldconfig
    

    通过键入以下内容检查 OpenCV 版本:

    pkg-config --modversion opencv4
    
    4.3.0
    
  7. 使用如下命令验证 Python cv2 模块是否运行:

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

结论

我们向您展示了两种在 CentOS 8 服务器上安装 OpenCV 的方法。您可以根据自己的要求和偏好选择合适的方法。尽管从 CentOS 信息库安装打包版本更容易,但是从源代码构建 OpenCV 可以为您提供更大的灵活性,并且它应该是安装 OpenCV 时的首选。