背景:
之前参照 https://blog.csdn.net/Cui_Hongwei/article/details/104693174 这篇博客已经安装好了基础的opencv,但是在用到<opencv2/face.hpp>时报错file not found,原因是自opencv3后,人脸识别库等contrib模块已经不再内置了。
解决思路:1.从官网下载对应的opencv_contrib包 https://github.com/opencv/opencv_contrib/tags
2.重新编译opencv,主要是要添加OPENCV_EXTRA_MODULES_PATH
1.下载
如果不知道自己的opencv版本,可以在你之前编译的路径中打开OpenCVConfig-version.cmake查看
2.配置cmake文件
3.configure和generate之后,cd到编译的路径下执行mingw32-make 和 mingw32-make install
如果顺利的话,直接就完成了~
中途遇到的坑:
1.configure报错
#cmake_download "D:/software/opencv/sources/.cache/xfeatures2d/boostdesc/0ea90e7a8f3f7876d450e4149c97c74f-boostdesc_bgm.i" "https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_bgm.i"
#try 1
# timeout on name lookup is not supported
# Trying 185.199.108.133:443...
# Connected to raw.githubusercontent.com (185.199.108.133) port 443 (#0)
下载文件失败。可以参考这篇博客,直接将日志中的链接打开获取文件内容,并保存到报错的目录下。
解决openc_contrib提示缺少boostdesc_bgm.i文件出错
- 编译python相关报错
[modules\python3\CMakeFiles\opencv_python3.dir\build.make:76: modules/python3/CMakeFiles/opencv_python3.dir/__/src2/cv2.cpp.obj] Error 1
参考这篇博客,在configure时候去掉opencv_python相关的选项。
解决python的opencv链接问题