在Win10下编译 OpenCV 4.7.0过程中,踩了几个坑,这里记录下来,供大家参考。

1. 下载源文件

GitHub上下载OpenCV 4.7.0源文件,及opencv_contrib-4.7.0,如果不方便下载,以下是百度网盘链接,有需要可自取

链接:https://pan.baidu.com/s/1qP2aL9712YtuYM1zBeh1bg?pwd=7btf
提取码:7btf

建议三个文件均下载,opencv_3rdparty后续有用。

2. 解压opencv-4.7.0.zip,并在opencv-4.7.0新建build文件夹

3. 打开Cmake-gui,设置源文件路径及build路径

选择VS2019及x64选项,点击完成。

4. Search框中输出“extra”,配置EXTRA_MODULES路径(事先解压opencv_contrib-4.7.0.zip)

5. 点击Configure按钮,静静等待完成。这个过程中会根据CmakeLists.txt进行配置,也会自动从网上下载一些文件。比如说下载xfeatures2d_boostdesc和xfeatures2d_vgg等第三方文件。

这个过程中如果xfeatures2d_boostdesc和xfeatures2d_vgg等文件下载失败,可将我网盘共享的opencv_3rdparty.zip文件解压到build的download文件夹,如下图所示。

如果缺失第三方文件,在后续编译时会出现 无法解析的外部符号 cv::xfeatures2d::VGG::getDefaultName的报错,具体可查考我的帖子编译OpenCV 4.7.0 无法解析的外部符号 cv::xfeatures2d::VGG::getDefaultName 问题解决_NOAHCHAN1987的博客-CSDN博客

注:第三方文件的下载地址:

GitHub – opencv/opencv_3rdparty at wechat_qrcode_20210119

GitHub – opencv/opencv_3rdparty at contrib_xfeatures2d_vgg_20160317

GitHub – opencv/opencv_3rdparty at contrib_xfeatures2d_boostdesc_20161012

如果想自己从GitHub上下载可以直接从以上地址下载。

6.配置Configure的时候,要勾选上NONFREE,否者C++ 调用SURF::create会报错

参考:OpenCV 4.7.0 调用SURF::create 报错问题解决_NOAHCHAN1987的博客-CSDN博客

7. 如果用不上java和python就取消勾选,节约后续编译时间。

同样可以取消各种test的勾选

8. 根据你自己使用习惯,选择是否生成opencv_world库(如果不勾选,编译时会按模块进行生成库),我个人喜欢用opencv_world库,虽然库臃肿点,胜在方便。

9. 设置安装路径

10. 全部设置好后,再次点击Configure按钮。待Configuring done后,点击Generate按钮,生成项目。

11. 点击Open Project或者在build目录下,用VS2019打开OpenCV.sln

注意选择Release/Debug

右键点击“ALL_BUILD”点击“生成”

经过大约十多分钟,编译完成

右键点击“INSTALL”点击“生成”

最终,OpenCV头文件和库都会被拷贝到install路径下。

完成,enjoy