OpenCV创建目标跟踪指针报错:TrackerKCF不是cv的成员
解决OpenCV中TrackerKCF/MOSSE/CSRT找不到的问题
问题根源
你使用的这些跟踪器(KCF、MOSSE、CSRT)属于OpenCV的opencv_contrib扩展模块,默认安装或编译OpenCV时不会自动包含该模块,因此编译器无法识别这些类。
具体解决步骤
检查并安装opencv_contrib模块
如果是通过包管理器安装的OpenCV:- Ubuntu/Debian:执行
sudo apt-get install libopencv-contrib-dev - macOS(Homebrew):执行
brew install opencv-contrib - Windows(Chocolatey):执行
choco install opencv-contrib
- Ubuntu/Debian:执行
手动编译OpenCV时添加contrib模块
如果你是手动编译OpenCV源码,需要在CMake配置阶段指定contrib模块的路径:cmake -DOPENCV_EXTRA_MODULES_PATH=/path/to/your/opencv_contrib/modules \ -DCMAKE_BUILD_TYPE=Release \ -DINSTALL_C_EXAMPLES=ON \ -DINSTALL_PYTHON_EXAMPLES=ON \ -DBUILD_EXAMPLES=ON \ /path/to/your/opencv/source之后重新编译并安装OpenCV。
确认编译链接配置
确保你的项目编译时链接了opencv_contrib相关的库,你当前的头文件包含是正确的,只要模块安装到位即可正常识别跟踪器类。
内容的提问来源于stack exchange,提问作者Felix
相关产品推荐
相关产品推荐

