@[TOC]
下载
方法一:官网下载
官网下载opencv源码。点击 “Sources” 下载源码压缩包,或点击 “GitHub” 跳转到官方源码仓库下载。若下载速度慢,可使用方法二。
方法二:gitee下载
下载opencv源码,下载好后在 opencv源码文件夹打开终端,执行以下命令:
sed -i 's/https:\/\/raw.githubusercontent.com\/opencv\/opencv_3rdparty\/\${IPPICV_COMMIT}\/ippicv\//https:\/\/gitee.com\/c1h2\/ippicv_2020_lnx_intel64_20191018_general\/raw\/master\//g' 3rdparty/ippicv/ippicv.cmake
安装
1. 安装依赖
若按照[Ubuntu编译安装CMake]()这篇博客安装了CMake,则不需要安装 cmake-curses-gui ,因为编译安装CMake时已经安装了ccmake,若再安装 cmake-curses-gui ,会同时使apt安装一个其他版本的cmake,且ccmake会调用apt安装的cmake而不是自己编译安装的
sudo apt install build-essential cmake-curses-gui ninja-build libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev pkg-config libgtk-3*
还有可能缺少其他的依赖,需要在编译过程中根据报错去搜索解决
2. 使用ccmake设置编译参数
在opencv目录下打开终端,建立 build 文件夹
mkdir build && cd build
-G Ninja 是指定使用Ninja作为生成器,可以提高编译速度,编译CUDA相关内容时可能会卡很久,耐心等待即可
ccmake -G Ninja ..
第一次进入界面会显示 “EMPTY CACHE”,需要先按c键生成配置文件
生成期间会输出生成信息
生成完成后按e退出,就会进入到编译参数修改界面
可以看到编译参数,按上下方向键调整光标位置,按回车键修改光标所在处参数的值,若值为 ON/OFF ,则会将值改为 OFF/ON ,若值为字符串,则按左右方向键调整光标在字符串中的位置
部分默认未开启的编译参数解释
参考自官方文档 tutorial_config_reference
- BUILD_EXAMPLES
编译示例代码 - BUILD_PNG(JPEG,TIFF,WEBP,OPENJPEG,JASPER,OPENEXR)
使opencv可以读取相应格式的图片
使用 JASPER 则必须禁用 - ENABLE_PRECOMPILED_HEADERS
启用预编译头文件支持。改进构建时间 - INSTALL_C_EXAMPLES、INSTALL_PYTHON_EXAMPLES
安装C、Python例程 WITH_QT
使用QT绘制窗口,会提供很多功能,建议开启
需要安装qtsudo apt install qt5* qttools5-dev
- WITH_OPENGL
使opencv可以绘制opengl图形 - OPENCV_ENABLE_NONFREE
启用受专利保护的算法
- OPENCV_GENERATE_PKGCONFIG
启用.pc文件生成以及标准 CMake 包,建议开启
3. 编译并安装
修改好后,按c保存修改,按g生成最终配置文件然后自动退出ccmake窗口,最后使用ninja命令编译
ninja
sudo ninja install
如果需要更换版本,则卸载后再重新编译安装,卸载命令为
sudo ninja uninstall