OpenCV (开源计算机视觉库)是一种开源计算机视觉库,具有针对C ++,Python和Java的绑定,并支持所有主流操作系统。 它可以利用多核处理的优势,并具有GPU加速功能以进行实时操作。

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

本文介绍了如何在CentOS 8上安装OpenCV。要从源代码安装最新的稳定版OpenCV,请向下滚动到本教程的从源代码安装OpenCV 部分。 选择最适合您的安装选项之一。

从CentOS软件库安装OpenCV

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

通过键入以下内容来安装OpenCV软件包:

sudo dnf install opencv opencv-devel

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

pkg-config --modversion opencv
3.4.1

从源代码安装OpenCV

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

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

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

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

同时克隆OpenCV和OpenCV贡献存储库:

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

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

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

cd ~/opencv_build/opencv && mkdir build && cd build

使用以下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

开始通过运行以下命令来完成编译过程:

make -j8

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

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

使用以下方法安装OpenCV库:

sudo make install

创建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

要验证Python cv2模块是否运行:

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

结论

我们向您展示了两种不同的方法在CentOS 8服务器上安装OpenCV。 您选择的方法取决于您的要求和偏好。 尽管从CentOS信息库安装打包版本更容易,但从源代码构建OpenCV会给您带来更大的灵活性,并且它应该是安装OpenCV时的首选。

如果您有任何问题或反馈,请随时在下面评论。