本页内容

  • 准备工作
  • 开始之前
  • 从 Debian 仓库安装 OpenCV
  • 从源码安装 OpenCV
  • 总结

OpenCV 是一个开源的机器学习软件库和计算机视觉库。它用于图像处理和执行计算机视觉任务。借助 OpenCV,你可以构建实时的计算机视觉应用,包括跟踪运动物体、监控视频、医学图像分析等。它是跨平台的,支持多种操作系统,包括 Linux、Windows、macOS、Android、OpenBSD、FreeBSD 等。

本教程将介绍如何在 Ubuntu 22.04 上安装 OpenCV。

准备工作

  • 一台运行 Ubuntu 22.04 的服务器。
  • 你的服务器上已配置 root 密码。

开始之前

首先,使用以下命令将全部系统软件包更新并升级到最新版本:

apt update -y
apt upgrade -y

所有软件包更新完成后,使用以下命令安装 Python 软件包:

apt install python3

安装好 Python 后,使用以下命令验证 Python 版本:

python3 --version

你应该会看到如下输出:

Python 3.10.6

从 Debian 仓库安装 OpenCV

默认情况下,OpenCV 模块在 Ubuntu 22.04 的默认仓库中可用。你可以使用以下命令安装它:

apt-get install python3-opencv -y

安装成功后,你可以使用以下命令验证已安装模块的版本:

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

你应该会得到如下输出:

4.5.4

完成后,你可以进入下一步。

从源码安装 OpenCV

推荐从源码安装 OpenCV,这样可以针对特定系统进行优化。

首先,使用以下命令安装构建 OpenCV 所需的所有依赖项:

apt-get install build-essential cmake git pkg-config libgtk-3-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev gfortran openexr libatlas-base-dev python3-dev python3-numpy libtbb2 libtbb-dev -y

安装完所有依赖项后,使用以下命令下载最新版本的 OpenCV 和 OpenCV contrib:

git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git

接下来,使用以下命令切换到 opencv 目录:

cd opencv

接下来,创建一个临时构建目录并切换到该目录:

mkdir build
cd build

接下来,使用 CMake 配置 OpenCV 构建:

cmake -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_contrib/modules -D BUILD_EXAMPLES=ON ..

成功完成后,你应该会看到如下输出:

--   Other third-party libraries:
--     Intel IPP:                   2020.0.0 Gold [2020.0.0]
--            at:                   /root/opencv/build/3rdparty/ippicv/ippicv_lnx/icv
--     Intel IPP IW:                sources (2020.0.0)
--               at:                /root/opencv/build/3rdparty/ippicv/ippicv_lnx/iw
--     VA:                          NO
--     Lapack:                      NO
--     Eigen:                       NO
--     Custom HAL:                  NO
--     Protobuf:                    build (3.19.1)
-- 
--   OpenCL:                        YES (no extra features)
--     Include path:                /root/opencv/3rdparty/include/opencl/1.2
--     Link libraries:              Dynamic load
-- 
--   Python 3:
--     Interpreter:                 /usr/bin/python3 (ver 3.10.6)
--     Libraries:                   /usr/lib/x86_64-linux-gnu/libpython3.10.so (ver 3.10.6)
--     numpy:                       /usr/lib/python3/dist-packages/numpy/core/include (ver 1.21.5)
--     install path:                lib/python3.10/dist-packages/cv2/python-3.10
-- 
--   Python (for build):            /usr/bin/python3
-- 
--   Java:                          
--     ant:                         NO
--     JNI:                         NO
--     Java wrappers:               NO
--     Java tests:                  NO
-- 
--   Install to:                    /usr/local
-- -----------------------------------------------------------------
-- 
-- Configuring done
-- Generating done
-- Build files have been written to: /root/opencv/build

接下来,使用以下命令编译 OpenCV:

make -j2

构建过程可能需要一些时间才能完成。构建成功后,你可以使用以下命令安装 OpenCV:

make install

接下来,使用以下命令验证 OpenCV 安装:

pkg-config --modversion opencv4

你应该会得到如下输出:

4.6.0

你也可以使用以下命令查看 OpenCV 模块的版本:

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

你应该会看到如下输出:

4.2.0-dev

总结

恭喜!你已成功在 Ubuntu 22.04 上安装了 OpenCV 库。你现在可以使用 OpenCV 开始开发计算机视觉和机器学习相关应用。如有任何疑问,欢迎随时向我提问。