在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