- 高版本的opencv因为版权等问题,在正式发布的版本里,已经将SURF等算法移到opencv_contrib里
- 如果需要这些算法,需要自己下载opencv_contrib,用cmake编译
- opencv_contrib4.20下载地址:https://github.com/opencv/opencv_contrib/releases
- 官网下载opencv4.20:https://opencv.org/releases/
- 解压下载的两个文件包,到下面的两个目录:
- 官网下载cmake-3.16.4-win64-x64.msi:https://cmake.org/download/
- 安装cmake
- 运行cmake,先设置以下两个选择项:
- 选择编译器:
- 设置opencv_contrib的选项:opencv_contrib的modules目录
OPENCV_EXTRA_MODULES_PATH:设置成
- 再设置:OPENCV_ENABLE_NONFREE,打钩(这一步很重要,否则编译后的库不能用)
- 再设置自己需要的编译项目:(下面画红线的框的选项,可能需要经过两次generate才能出现)
- 生成c++文件:
- 运行vs2019,选择刚才生成的opencv项目:
- 编译:
- 经过漫长的等待时间,完成编译,在目标文件夹生成需要的库:
dcx\bin\Debug\opencv_world420d.dll
dcx\lib\Debug\opencv_world420d.lib
- 将这两个库,替换旧的opencv4.20里库就可以了。