OpenCV介绍:Linux——在Linux中安装OpenCV OpenCV v4.8.0

下一个教程在使用 gdb 的集成开发环境中使用 OpenCV

原作者Ana Huamán
兼容性OpenCV >= 3.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
unzip 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
unzip opencv.zip
unzip opencv_contrib.zip
# 创建 build 目录并切换到该目录
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 和 unzip…
sudo apt install -y wget unzip
    • … 或 git
sudo apt install -y git

下载源代码

获取 OpenCV 源代码有两种方法:

  • 使用网络浏览器或任何下载工具下载软件源快照(约 80-90Mb ),然后解压缩…
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.x.zip
unzip opencv.zip
mv opencv-4.x opencv
  • …或使用 git 将版本库克隆到本地计算机,以获取完整的更改历史(>470Mb):
git clone https://github.com/opencv/opencv.git
git -C opencv checkout 4.x

注释
其他分支、版本或提交的快照可在 GitHub 和官方下载页面上找到。

配置和构建

  • 创建构建目录
mkdir -p build && cd build
  • 配置 - 为首选的构建系统生成构建脚本:
    • 对于 make…
cmake ../opencv
    • … 或对于Ninja
cmake -GNinja ../opencv
  • 编译 - 运行实际编译过程:
    • 使用 make…
make -j4
    • … 或Ninja
ninja

注意事项
配置过程会从互联网下载一些文件以满足库的依赖性,连接失败可能会导致某些模块或功能关闭或表现不同。有关详细信息和完整的配置选项参考,请参阅
**OpenCV 安装概述**和 OpenCV 配置选项参考教程。
如果在构建过程中遇到问题,请尝试清理或重新创建构建目录。更改配置(如禁用依赖关系、修改编译脚本或将源代码切换到另一个分支)不会得到很好的处理,可能会导致工作区损坏。
Make 可以并行运行多个编译进程,-j<NUM> 选项表示 “同时运行 <NUM> 作业”。Ninja
会自动检测可用处理器内核的数量,不需要 -j 选项。

检查编译结果

编译成功后,你会在 build/lib 目录下找到库,并在 build/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 格式的训练级联)
由于 /usr/local 为根用户所有,因此安装时应提升权限 (sudo):

sudo make install

sudo ninja install

可使用 CMAKE_INSTALL_PREFIX 配置参数更改安装根目录,例如 -DCMAKE_INSTALL_PREFIX=$HOME/.local 安装到当前用户的本地目录。可以使用 OPENCV_*_INSTALL_PATH 参数更改安装布局。详情请参见 OpenCV 配置选项参考

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Linux下编译OpenCV GPU版本,您需要遵循以下步骤: 1. 安装CUDA 首先,您需要安装CUDA(Compute Unified Device Architecture)工具包。您可以从NVIDIA官网下载适合您操作系统的CUDA版本,然后按照官方文档的说明进行安装。 2. 安装OpenCV 安装OpenCV的方法因操作系统而异。在Ubuntu上,您可以使用以下命令安装OpenCV: ``` sudo apt-get install libopencv-dev ``` 如果您使用的是其他Linux发行版,可以参考OpenCV官方文档的说明进行安装。 3. 编译OpenCV with GPU支持 为了启用OpenCV的GPU支持,您需要将WITH_CUDA选项设置为ON。在编译过程,您还需要指定CUDA安装路径,以及用于GPU计算的架构和代码生成选项。以下是一个示例CMake命令: ``` cmake -D WITH_CUDA=ON \ -D CUDA_ARCH_BIN="<arch>" \ -D CUDA_ARCH_PTX="<arch>" \ -D CUDA_GENERATION="<code_gen>" \ -D CUDA_TOOLKIT_ROOT_DIR="<cuda_install_path>" \ <opencv_source_path> ``` 其,`<arch>`表示您要支持的GPU架构,例如`sm_50`;`<code_gen>`表示用于生成GPU代码的CUDA版本,例如7.0;`<cuda_install_path>`是CUDA的安装路径,在Ubuntu上通常是`/usr/local/cuda`;`<opencv_source_path>`是OpenCV源代码的路径。 4. 编译和安装OpenCV 完成上述设置后,运行以下命令编译和安装OpenCV: ``` make -j8 sudo make install ``` 在编译和安装过程,您可以根据需要调整并行编译的线程数(`-j`选项)。 完成上述步骤后,您就可以在OpenCV使用GPU加速了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值