OpenCV contrib中模块的独立编译

本文介绍如何将OpenCV贡献库中的tracking模块单独编入项目,实现目标跟踪功能,并解决了编译过程中遇到的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文旨在说明在使用一般OpenCV库的基础上,将contrib库中的个别模块(非整个contrib库)通过源码编译的方式引入项目中进行使用具有可行性。

开发环境:Qt5.14.2 + Visual Studio 2017 x64 + OpenCV4.1.0

主要是用的库:

OpenCV4.1.0:https://github.com/opencv/opencv/releases/download/4.1.0/opencv-4.1.0-vc14_vc15.exe

OpenCV contrib 4.1.0:https://codeload.github.com/opencv/opencv_contrib/zip/4.1.0

OpenCV以一般外部库的方式引入项目中使用,作者将contrib库中tracking模块的源码按库中原有的文件结构加入到项目中进行编译,载入视频进行跟踪处理,确认包括KCF在内的所有tracker均工作正常。编译过程中主要遇到的问题如下:

1.提示找不到文件“tracking.detail.hpp”。这个问题有2种解决方法,1)保证OpenCV版本和OpenCV contrib版本一致;2)参考GitHub上的解决方法。

2.出现OpenCL有关的错误。分析报错的代码发现,代码中使用了编译预处理指令,即标识符HAVE_OPENCL被定义时,编译为支持OpenCL的版本,否则编译为不支持OpenCL的版本。通过跟踪发现,HAVE_OPENCL被定义在OpenCV库中的cvconfig.h文件中,将“#define HAVE_OPENCL”注释掉后,再注释掉OpenCL有关的头文件(会提示找不到该文件),即可完成编译。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值