OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,支持所有主流操作系统上的C++、Python和java,它可以发挥多核进程和GPU加速,用于实时操作,OpenCV应用广泛,包括医疗图片分析、街景图片处理、监视视频、探测和识别面部、追踪移动物体、提取3D模型等。
安装方式
1. 从CentOS源仓库安装OpenCV

CentOS 8标准软件源中提供了OpenCV软件包,但不包括Python版本,通过以下命令安装OpenCV软件包:
- sudo dnf install opencv opencvdevel opencvpython
安装完成后,验证OpenCV是否存在:
- pkgconfig modversion opencv
输出应为安装的版本号,例如3.4.1
。
2. 从源码安装OpenCV
从源码安装OpenCV可以获取最新版本,并针对特定系统进行优化,同时完全控制构建选项,以下是具体步骤:
(1)安装必要的依赖软件包

- sudo dnf install epelrelease git gcc gccc++ cmake3 qt5qtbasedevel
- python3 python3devel python3pip cmake python3devel python3numpy
- gtk2devel libpngdevel jasperdevel openexrdevel libwebpdevel
- libjpegturbodevel libtiffdevel tbbdevel libv4ldevel
- eigen3devel freeglutdevel mesalibGL mesalibGLdevel
- boost boostthread boostdevel gstreamer1pluginsbase
(2)克隆OpenCV和OpenCV contrib源
- mkdir p ~/opencv_build && cd ~/opencv_build
- git clone https://github.com/opencv/opencv.git
- git clone https://github.com/opencv/opencv_contrib.git
如果需要安装旧版本,可以在相应目录运行git checkout <opencvversion>
。
(3)创建临时构建目录并配置
- cd ~/opencv_build/opencv && mkdir build && cd build
- 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 ..
(4)编译和安装
- make j8
- sudo make install
- sudo ln s /usr/local/lib64/pkgconfig/opencv4.pc /usr/share/pkgconfig/
- sudo ldconfig
检查OpenCV版本:
- pkgconfig modversion opencv4
输出应为安装的版本号,例如4.3.0
。

在CentOS 8服务器上安装OpenCV有两种方式:从CentOS源仓库安装或从源码安装,直接从CentOS源安装简单方便,但从源码安装可以获得最新版本并针对系统进行优化,提供更多灵活性,根据个人需求和偏好选择合适的安装方式。
FAQs
1、如何在CentOS上验证OpenCV是否安装成功?
答:可以通过以下命令验证OpenCV是否安装成功:
- pkgconfig modversion opencv
或者对于Python版本:
- python3 c "import cv2; print(cv2.__version__)"
这些命令将分别输出OpenCV的版本号,确认安装成功。
2、为什么建议从源码安装OpenCV?
答:从源码安装OpenCV有多个优点:你可以获得最新的稳定版本,而不是CentOS源仓库中的较旧版本;源码安装允许你针对你的特定系统进行优化,提高性能;你拥有对构建选项的完全控制权,可以根据需要进行定制。