返回目录:OpenCV系列文章目录(持续更新中......)
上一篇:OpenCV 环境变量参考
下一篇:将OpenCV与gcc和CMake结合使用
引言:
OpenCV是一个开源的计算机视觉库,由英特尔公司所赞助。它是一个跨平台的库,可运行于Windows、Linux、Mac OS X以及Android系统上,并且支持多种编程语言。OpenCV为用户提供了丰富的计算机视觉算法和函数库,能够用于图像处理、模式识别、机器视觉、智能交通、自动驾驶等多个领域。本篇文章将介绍如何在Linux上安装OpenCV 4.9.0。在这个过程中,我们将会安装和配置OpenCV所需要的依赖库,下载和构建OpenCV 4.9.0的源代码,并将其安装到系统中。安装OpenCV之后,我们还将会配置适当的环境变量,以确保OpenCV正确地工作。本文假设您对Linux有基本的了解,并有一定的计算机编程和系统设定经验。
兼容性:OpenCV >= 3.0
快速入门
1. 安装依赖库:OpenCV依赖许多其他的库,因此需要先安装这些依赖库。在终端中运行以下命令,安装依赖库:
sudo apt-get update
sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python3.7-dev python3-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev
2. 下载OpenCV4.9.0:从OpenCV的官方网站下载OpenCV4.9.0的源代码,并解压缩到本地目录:
wget https://github.com/opencv/opencv/archive/4.9.0.zip
unzip 4.9.0.zip -d opencv-4.9.0
3. 构建安装:
进入解压后的OpenCV4.9.0目录,创建一个新的build目录,并进入该目录:
cd opencv-4.9.0
mkdir build
cd build
使用cmake来生成makefile并构建:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j$(nproc)
sudo make install
4. 配置环境变量:
在终端窗口中输入以下命令:
echo 'export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib64/pkgconfig' >> .bashrc
source ~/.bashrc
这将向您的bash shell中添加OpenCV的库路径和头文件路径。
至此,在 Linux 中安装 OpenCV 4.9.0 完成。需要注意的是,安装过程可能会因系统或计算机配置而异,因此在实际安装时请根据提示进行选择和操作。
编译核心模块
# 安装最低限度的先决条件(Ubuntu 18.04 作为参考)
sudo apt update && sudo apt install -y cmake g++ wget unzip
# 下载和解压源码
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.x.zip
解压缩opencv.zip
# 创建构建目录
mkdir -p build && cd build
# 配置
cmake ../opencv-4.x
# 构建
cmake --build .
opencv_contrib方式编译构建
# 安装最低限度的先决条件(Ubuntu 18.04 作为参考)
sudo apt update && sudo apt install -y cmake g++ wget unzip
# 下载和解压源码
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.x.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.x.zip
解压缩opencv.zip
解压缩opencv_contrib.zip
# 创建构建目录并切换到其中
mkdir -p build && cd build
# 配置
cmake -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.x/modules ../opencv-4.x
# 构建
cmake --build 。
详细流程
本部分提供有关生成过程的更多详细信息,并介绍替代方法和工具。有关常规安装详细信息,请参阅 OpenCV 安装概述教程,有关配置选项文档,请参阅 OpenCV 配置选项参考。
安装编译器和生成工具
要编译 OpenCV,您需要一个 C++ 编译器。通常它是 G++/GCC 或 Clang/LLVM:
安装GCC...
sudo apt install -y g++
... 或者 Clang:
sudo apt install -y clang
OpenCV使用的CMake 构建配置工具
sudo apt install -y cmake
CMake 可以为不同的构建系统生成脚本,例如 make、ninja:
安装 Make...
sudo apt install -y make
... 或者Ninja:
sudo apt install -y ninja-build
用于获取和解压缩源代码的安装工具:
wget and 解压缩...
sudo apt install -y wget unzip
... 或者git:
sudo apt install -y git
下载源代码
以下两种方法可以获取 OpenCV 源代码:
1、使用 Web 浏览器或任何下载工具(~80-90Mb)下载存储库快照并解压缩.
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.x.zip
解压 opencv.zip
mv opencv-4.x opencv
...或使用 git 将存储库克隆到本地计算机以获取完整的更改历史记录 (>470Mb)
git clone https://github.com/opencv/opencv.git
git -C opencv checkout 4.x
注意
配置过程可以从 Internet 下载一些文件以满足库依赖关系,连接失败可能会导致某些模块或功能被关闭或行为不同。有关详细信息和完整的配置选项参考,请参阅 OpenCV 安装概述和 OpenCV 配置选项参考教程。
如果在生成过程中遇到问题,请尝试清理或重新创建生成目录。配置中的更改(如禁用依赖项、修改构建脚本或将源切换到另一个分支)处理得不好,可能会导致工作区中断。
Make 可以并行运行多个编译进程,-j<NUM线程数)>选项表示“同时运行 <NUM(线程数)> 作业”。-j未选用Ninja 将自动检测可用处理器内核的数量,并且不需要选项。
检查生成结果
成功构建后,您将在目录中找到库,在目录中找到可执行文件(test、samples、apps):build/libbuild/bin
ls bin
ls lib
CMake 包文件将位于构建根目录中:
ls OpenCVConfig*.cmake
ls OpenCVModules.cmake
安装
警告:
安装过程仅将文件复制到预定义的位置,并进行少量修补。使用此方法进行安装不会将 opencv 集成到系统软件包注册表中,因此,例如,opencv 无法自动卸载。我们不建议普通用户进行系统范围的安装,因为可能与系统软件包冲突。
默认情况下,OpenCV 将安装到该目录,所有文件都将复制到以下位置:/usr/local
/usr/local/bin- 可执行文件
/usr/local/lib- 库 (.so)
/usr/local/cmake/opencv4- cmake 软件包
/usr/local/include/opencv4-头
/usr/local/share/opencv4- 其他文件(例如XML格式的训练库)
由于它归 root 用户所有,因此应使用提升的权限()执行安装:/usr/localsudo
sudo make install
或者
sudo ninja install
安装根目录可以通过配置CMAKE_INSTALL_PREFIX参数进行更改,
例如 -DCMAKE_INSTALL_PREFIX=$HOME/.local安装到当前用户的本地目录。
可以使用参数OPENCV_*_INSTALL_PATH更改安装布局。有关详细信息,请参阅 OpenCV 配置选项参考教程
参考文献:
1.Installation in Linux 作者:Ana Huamán