ububtu20.04下opencv3.4.10+opencv_contrib3.4.10编译安装及问题解决


1.opencv_contrib-3.4.10 & opencv-3.4.10下载

下载

opencv_contrib-3.4.10 放在 opencv-3.4.10 目录下

virtual-machine:/opt/opencv-3.4.10$ ls
3rdparty  cmake            data     LICENSE                platforms
apps      CMakeLists.txt   doc      modules                README.md
build     CONTRIBUTING.md  include  opencv_contrib-3.4.10  samples

2.安装必备依赖项

sudo apt update
sudo apt install -y 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 libdc1394-22-dev

3. 编译OpenCV

以下是cmake命令中各个参数的中文解析:

cmake -D CMAKE_BUILD_TYPE=Release \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D OPENCV_EXTRA_MODULES_PATH=/opt/opencv-3.4.10/opencv_contrib-3.4.10/modules \
    -D WITH_CUDA=OFF \
    -D BUILD_EXAMPLES=ON ..
  1. -D CMAKE_BUILD_TYPE=Release

    • 指定构建类型为“Release”(发布版),这样会启用优化选项,使得编译后的OpenCV库在性能上更佳。
  2. -D CMAKE_INSTALL_PREFIX=/usr/local

    • 指定安装路径为/usr/local,即编译安装后的OpenCV库和头文件将被安装到/usr/local目录下。
  3. -D OPENCV_EXTRA_MODULES_PATH=/opt/opencv-3.4.10/opencv_contrib-3.4.10/modules

    • 指定OpenCV的额外模块路径,这个参数告诉cmake去加载opencv_contrib模块的路径,也就是/opt/opencv-3.4.10/opencv_contrib-3.4.10/modules,以便包含并编译额外的模块。
  4. -D WITH_CUDA=OFF

    • 指定不使用CUDA加速。设置为OFF表示在编译OpenCV时不启用对CUDA(用于GPU加速)的支持。
  5. -D BUILD_EXAMPLES=ON

    • 指定编译OpenCV的示例代码。设置为ON表示在构建过程中会编译OpenCV附带的示例程序,方便后续学习和测试。
  6. ..

    • 表示CMake将使用上一级目录(即OpenCV的源代码目录)中的CMakeLists.txt文件来生成构建配置文件。

通过这个命令,CMake将使用Release模式进行编译,将编译后的文件安装到/usr/local目录,并且包含了opencv_contrib模块,同时不启用CUDA加速并编译OpenCV示例代码。

4.编译并安装

make -j$(nproc)
sudo make install
sudo ldconfig

以下是对这三个命令和参数的详细解析:

a. make -j$(nproc)

  • make:用于编译项目,根据Makefile中定义的规则将源代码编译成可执行文件。
  • -j$(nproc):指定并行编译的线程数量。
    • -j:表示开启多线程编译,以加快编译速度。
    • $(nproc):返回当前系统中可用的CPU核心数。在Linux系统中,nproc命令会输出CPU核心的数量,因此这个参数会将编译进程数设置为与可用核心数相同,充分利用CPU资源。

b. sudo make install

  • sudo:以超级用户(root)权限执行命令,因为安装需要对系统目录进行写操作。
  • make install:执行Makefile中的安装指令,将已编译的文件复制到指定的系统目录(例如:/usr/local),以便在系统中全局使用。

c. sudo ldconfig

  • ldconfig:用于更新动态链接库的缓存文件,确保系统可以找到新安装的库文件。
    • 在安装OpenCV后,新的库文件会被放入系统目录(如/usr/local/lib)。ldconfig会扫描这些目录并更新缓存文件,确保系统可以正确链接到这些库。

c.总结

  • make -j$(nproc): 并行编译,充分利用多核CPU资源,提高编译速度。
  • sudo make install: 将编译完成的文件安装到系统目录。
  • sudo ldconfig: 更新动态链接库缓存,确保系统能够识别和使用新安装的库。

5.验证安装

pkg-config --modversion opencv

这应该输出3.4.10,表示OpenCV已经成功安装。如果你有多个OpenCV版本,可能需要调整路径配置,以确保使用的版本正确。


### 回答1: 安装opencv和contrib在ubuntu20.04上非常容易,首先,您需要更新您的系统:sudo apt-get update,然后安装opencv和contrib:sudo apt-get install libopencv-dev python-opencv。您也可以从源代码安装opencv和contrib:git clone https://github.com/opencv/opencv.git。 ### 回答2: 在Ubuntu 20.04安装OpenCV和Contrib模块可以按照以下步骤进行: 1. 打开终端窗口,并通过以下命令更新系统软件包列表: ```shell sudo apt update ``` 2. 安装OpenCV的依赖项,包括构建工具、图像和视频处理库等: ```shell sudo apt install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev sudo apt install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev libv4l-dev libxvidcore-dev libx264-dev ``` 3. 通过以下命令从GitHub上获取OpenCV源代码: ```shell cd ~ git clone https://github.com/opencv/opencv.git ``` 4. 进入opencv目录,并创建一个用于构建的子目录: ```shell cd opencv mkdir build cd build ``` 5. 在构建目录中,运行以下cmake命令以准备OpenCV的构建过程: ```shell cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. ``` 6. 运行以下命令编译OpenCV: ```shell make -j$(nproc) ``` 7. 安装OpenCV到系统: ```shell sudo make install ``` 8. 接下来,我们要安装OpenCV的Contrib模块。首先,返回到OpenCV源代码的根目录: ```shell cd ../.. ``` 9. 然后,克隆OpenCV Contrib模块的源代码: ```shell git clone https://github.com/opencv/opencv_contrib.git ``` 10. 进入opencv_contrib目录,并创建一个用于构建的子目录: ```shell cd opencv_contrib mkdir build cd build ``` 11. 在构建目录中,运行以下cmake命令以准备OpenCV Contrib的构建过程: ```shell cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ../.. ``` 12. 编译OpenCV Contrib: ```shell make -j$(nproc) ``` 13. 最后,将OpenCV Contrib安装到系统: ```shell sudo make install ``` 完成上述步骤后,您应该成功在Ubuntu 20.04安装OpenCV和Contrib模块。 ### 回答3: 要在Ubuntu 20.04安装OpenCV和Contrib模块,你可以按照以下步骤进行操作: 1. 更新系统:打开终端,并使用以下命令更新系统软件包: ``` sudo apt update sudo apt upgrade ``` 2. 安装依赖项:在终端中运行以下命令以安装OpenCV所需的依赖项: ``` sudo apt install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev sudo apt install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev libv4l-dev libxvidcore-dev libx264-dev sudo apt install libatlas-base-dev gfortran python3-dev python3-numpy libgtk-3-dev libcanberra-gtk3-module ``` 3. 克隆OpenCV存储库:使用以下命令在你选择的目录中克隆OpenCV库: ``` git clone https://github.com/opencv/opencv.git cd opencv git checkout 4.5.0 ``` 4. 克隆OpenCV Contrib存储库:使用以下命令在同一目录中克隆OpenCV Contrib库: ``` git clone https://github.com/opencv/opencv_contrib.git cd opencv_contrib git checkout 4.5.0 ``` 5. 构建并安装OpenCV:进入OpenCV源代码目录,创建一个新的目录用于构建,然后运行cmake命令以生成构建文件: ``` cd ../opencv mkdir build cd build cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules .. ``` 6. 构建和安装OpenCV:运行以下命令以进行构建和安装: ``` make -j4 # 使用多线程构建 sudo make install sudo ldconfig ``` 完成上述步骤后,OpenCV和Contrib模块将被成功安装在你的Ubuntu 20.04系统上。你可以使用相应的代码和教程来验证安装并开始使用OpenCV
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

草莓奶忻

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值