官方安装教程:
OpenCV installation overview
安装版本: 4.5.4
Installation in Windows
System: window10
CMake: 3.18.5
git: 2.23.0
visual studio: 2019
python: 3.6.5
opencv: 4.5.4 (No CUDA)
源码地址: https://github.com/opencv/opencv
下载
git clone git@github.com:opencv/opencv.git
加速
如果网速不好,可以用以下地址
git clone https://github.91chi.fun/https://github.com/opencv/opencv.git
选择版本
查看所有版本
git tag
切换到指定版本
git checkout 4.5.4
打开CMake(cmake-gui)
source
选择opencv
源码所在路径
build
选择在源码中新建的build目录
点击Configure
, 选择Visual Studio 16 2019
该过程ffpmeg
和ippicv
可能下载不下来,出现错误,可参考ffpmeg 和 ippicv库下载问题
勾选build_opencv_world
,后续生成会打包到一个库,处理完ffpmeg
和ippicv
库后重新点击Configure
点击Generate
打开build目录下OpenCV.sln
启动后选择Release
或者Debug
模式 以管理员方式打开VS2019
点击生成,生成解决方案
install
展开OpenCV
工程下CMakeTargets
目录
将INSTALL
设为启动项
点击生成,生成结果保存在build/install
目录下
ffpmeg
库用于视频解码
FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件),一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。
ippicv,IPP-ICV 包由 OpenCV 库提供,支持的平台默认启用 IPP-ICV 优化,用户无需安装额外的独立英特尔的IPP 包。英特尔IPP软件构建块是经过高度优化的指令集(使用英特尔AVX、AVX2和SSE),它为图像处理和计算机视觉提供了一个特殊的功能子集。
opencv/3rdparty/ffmpeg/ffmpeg.cmake
和opencv/3rdparty/ippicv/ippicv.cmake
中的下载地址及相应的hash
值确定文件下载链接ffmpeg
ffmpeg_version.cmake opencv_videoio_ffmpeg.dll opencv_videoio_ffmpeg_64.dll
ippicv
879741a7946b814455eee6c6ffde2984-ippicv_2020_win_intel64_20191018_general.zip (不同版本和系统名称不一样)
4.2、存放下载文件
可以把下载的文件夹存放至opencv/.cache
目录下的ffmpeg
和ippicv
目录下,记得修改文件名为hash+filename
, 其中ffmpeg_version.cmake要右击页面另存为,直接复制内容到文件hash值会改变,然后重新编译(推荐)
或者修改opencv/3rdparty/ffmpeg/ffmpeg.cmake
和opencv/3rdparty/ippicv/ippicv.cmake
中下载路径的URL
为下载后存放的路径
Installation in Linux
最小依赖如下
sudo apt update sudo apt install -y cmake g++ wget unzip sudo apt-get install build-essential pkg-config libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
其他相关依赖可参考install-opencv
# 2. INSTALL THE DEPENDENCIES # Build tools: sudo apt-get install -y build-essential cmake # GUI (if you want GTK, change 'qt5-default' to 'libgtkglext1-dev' and remove '-DWITH_QT=ON'): sudo apt-get install -y qt5-default libvtk6-dev # Media I/O: sudo apt-get install -y zlib1g-dev libjpeg-dev libwebp-dev libpng-dev libtiff5-dev libjasper-dev \ libopenexr-dev libgdal-dev # Video I/O: sudo apt-get install -y libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev \ libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev yasm \ libopencore-amrnb-dev libopencore-amrwb-dev libv4l-dev libxine2-dev # Parallelism and linear algebra libraries: sudo apt-get install -y libtbb-dev libeigen3-dev # Python: sudo apt-get install -y python-dev python-tk pylint python-numpy \ python3-dev python3-tk pylint3 python3-numpy flake8 # Java: sudo apt-get install -y ant default-jdk # Documentation and other: sudo apt-get install -y doxygen unzip wget
和windows一样,可跳转至源码
cd opencv mkdir opencv cd opencv
cmake ..
即可,如果要设置其他选项,则在cmake
后面添加,如:cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D WITH_QT=OFF \ -D WITH_CUDA=OFF \ -D WITH_OPENGL=ON ..
CMAKE_BUILD_TYPE指定编译类型,可选项为DEBUG和RELEASE;CMAKE_INSTALL_PREFIX指定库的安装路径;OPENCV_EXTRA_MODULES_PATH指定opencv_contrib里面的modules文件夹的路径;WITH_CUDA是是否启用CUDA支持,可选项为ON和OFF。
make
,-j
后面的数字表示同时几个进程make -j4
如果编译过程中未指定安装路径,则默认安装在/usr/local
,具体文件如下:
/usr/local/bin : 可执行文件
/usr/local/lib : 库文件
/usr/local/cmake/opencv4 : cmake包
/usr/local/include/opencv4 : 头文件
/usr/local/share/opencv4 : 其他文件
sudo make install