文章目录
- 参考资料
- 1. 安装步骤
- 1.1 仅构建核心模块
- 1.2 构建含有opencv_contrib的版本
- 2. 安装过程碰到的问题
- 2.1 编译opencv时,卡在IPPICV
参考资料
- https://www.jianshu.com/p/3c2fc0da7398
- https://docs.opencv.org/4.5.3/d7/d9f/tutorial_linux_install.html
- https://www.jianshu.com/p/3c2fc0da7398
- https://www.cnblogs.com/yongy1030/p/10293178.html
其实官网步骤已经非常清楚了,只不过是英文的,可能有小伙伴看不下去,所以不妨看看这篇博客。
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
命令即可。