OpenCV4.1.0无法找到BackgroundSubtractorCNT相关依赖问题咨询
问题解答
你没有遗漏配置步骤,BackgroundSubtractorCNT 类也没有被弃用,它属于OpenCV的扩展模块仓库opencv_contrib中的bgsegm模块,默认编译的OpenCV主仓库版本不会包含这部分内容,所以你找不到对应的头文件。
可按以下方式解决:
- 自行编译的场景:下载和你使用的OpenCV 4.1.0版本完全一致的
opencv_contrib4.1.0源码,重新编译OpenCV主库。编译时在CMake配置中添加OPENCV_EXTRA_MODULES_PATH参数,指向你下载的opencv_contrib目录下的modules文件夹,同时勾选BUILD_opencv_bgsegm编译选项,编译完成后生成的库就会包含<opencv2/bgsegm.hpp>头文件和对应实现。 - vcpkg安装的场景:直接安装带扩展模块的OpenCV包即可,vcpkg中对应的包名为
opencv4[contrib],执行对应平台的安装命令vcpkg install opencv4[contrib]:<目标平台triplet>,安装完成后就能找到所需的头文件和依赖库。 - 嵌入式部署优化提示:编译时可仅开启
bgsegm和你实际用到的其他模块,关闭所有不需要的模块功能,同时开启对应架构的编译优化选项,能有效减小最终二进制体积,提升运行效率。
内容的提问来源于stack exchange,提问作者ImanityDev
相关产品推荐
相关产品推荐

