OpenCV 在 CentOS 上的安装与使用
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,支持所有主流操作系统上的 C++、Python 和 Java,它可以发挥多核进程和 GPU 加速,用于实时操作,OpenCV 应用广泛,包括医疗图片分析、街景图片处理、监视视频、探测和识别面部、追踪移动物体、提取 3D 模型等,本文将详细介绍如何在 CentOS 8 上通过两种方式安装 OpenCV:从 CentOS 源仓库安装和从源码安装。
二、从 CentOS 源仓库安装 OpenCV
CentOS 8 标准软件源中包含了 OpenCV 软件包,但是没有包含 Python 的版本,以下是安装步骤:
步骤 | 命令 | 说明 |
安装 OpenCV 软件包 | sudo dnf install opencv opencvdevel opencvpython | 安装 OpenCV 及其开发工具和 Python 模块。 |
验证 OpenCV 版本 | pkgconfig modversion opencv | 检查已安装的 OpenCV 版本,输出应为3.4.1 。 |
从源码安装 OpenCV
从源码安装 OpenCV 可以安装最新可用的版本,并针对特定系统进行优化,以下是详细步骤:
步骤 | 命令 | 说明 |
安装必要的依赖包 | 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 | 安装构建 OpenCV 所需的各种依赖包。 |
克隆 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 | 创建构建目录并克隆 OpenCV 及其扩展模块仓库。 |
配置构建环境 | 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 .. | 使用 CMake 配置构建环境。 |
编译 OpenCV | make j8 | 根据处理器核心数进行编译,可以使用nproc 命令查看核心数。 |
安装 OpenCV | sudo make install | 安装编译好的 OpenCV。 |
创建符号链接 | sudo ln s /usr/local/lib64/pkgconfig/opencv4.pc /usr/share/pkgconfig/ sudo ldconfig | 重建库缓存。 |
验证 OpenCV 版本 | pkgconfig modversion opencv4 | 检查 OpenCV 版本,输出应为4.3.0 。 |
验证 Python cv2 模块 | python3 c "import cv2; print(cv2.__version__)" | 确保 Python 模块正常工作,输出应为4.3.0dev 。 |
本文展示了在 CentOS 8 服务器上安装 OpenCV 的两种不同方式,选择哪种方式取决于用户的需求和偏好,直接从 CentOS 源安装软件包的方式虽然简单,但版本较低;而从源码构建安装 OpenCV 则提供了更多的灵活性和最新的功能,建议用户根据自己的需求选择合适的安装方式。
FAQs
1、问题:如何查看 OpenCV 的版本?
答案:可以通过以下命令查看 OpenCV 的版本:
```bash
pkgconfig modversion opencv4
```
或者导入 Python cv2 模块并打印版本:
```python
import cv2
print(cv2.__version__)
```
2、问题:如果需要安装旧版本的 OpenCV 怎么办?
答案:可以在克隆 OpenCV 及 OpenCV contrib 仓库后,导航到对应目录并运行git checkout <opencvversion>
来切换到所需版本。
```bash
cd opencv && git checkout 3.4.0
cd ../opencv_contrib && git checkout 3.4.0
```