Ubuntu20.04安装c++版本的OpenCV

参考资料

其实官网步骤已经非常清楚了,只不过是英文的,可能有小伙伴看不下去,所以不妨看看这篇博客。

1. 安装步骤

进入官网,选择你要下载的opencv版本,例如这里我选择的是4.5.3版本:

在这里插入图片描述

选择完版本之后,有两种可供选择的构建方式,一个是只包含核心模块,一个是还包含了opencv_contrib模块。

opencv很多功能不完善、性能不稳定或测试不完全的模块,都被放在了extra_modules(opencv_contrib)里面。官方给出的解释是:所有新模块都应单独开发,并首先在opencv_contrib中发布 ,当模块成熟并获得普及时,再将其移至opencv主库中,这时开发团队也将为该模块提供后续支持。

opencv及opencv_contrib各模块功能简介可参考博客:https://blog.csdn.net/weixin_52167931/article/details/120661924

1.1 仅构建核心模块

# 更新并安装依赖
sudo apt update && sudo apt install -y cmake g++ wget unzip
# Download and unpack sources
wget -O opencv.zip https://github.com/opencv/opencv/archive/master.zip
unzip opencv.zip
# Create build directory
mkdir -p build && cd build
# Configure
cmake  ../opencv-master
# Build
cmake --build .

1.2 构建含有opencv_contrib的版本

# 更新并安装依赖
sudo apt update && sudo apt install -y cmake g++ wget unzip
# Download and unpack sources
wget -O opencv.zip https://github.com/opencv/opencv/archive/master.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/master.zip
unzip opencv.zip
unzip opencv_contrib.zip
# Create build directory and switch into it
mkdir -p build && cd build
# Configure
cmake -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-master/modules ../opencv-master
# Build
cmake --build .

如果上述构建过程中没有报错,那么最后在build目录下执行以下命令进行安装:

sudo make install

然后opencv便安装完成了。

2. 安装过程碰到的问题

2.1 编译opencv时,卡在IPPICV

在进行cmake ../opencv-master或者cmake -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-master/modules ../opencv-master这一步骤时,最容易碰到的问题就是卡在IPPICV的下载,导致编译失败,这是因为网络问题。如果报了这个错,我们可以使用手动下载的方式进行下载。

  • 进入网站,在分支中选择需要下载的版本,例如,我这里选择的是20191018版本。
    在这里插入图片描述

  • 选择完版本后,点击第二个下载下来。这边我把他下载到了Downloads文件夹下。

    在这里插入图片描述
    在这里插入图片描述

  • 下载完成后,进入你的opencv目录里面:opencv-master/3rdparty/ippicv,打开ippicv.cmake文件,将第42行的内容改成下载之后的ippicv文件的目录(例如我是下载到了Downloads文件夹下):

      "file:///home/chh3213/Downloads"
    

    在这里插入图片描述

  • 修改完毕后再重新编译cmake ../opencv-master或者cmake -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-master/modules ../opencv-master命令即可。

猜你喜欢

转载自blog.csdn.net/weixin_42301220/article/details/127909883