calcOpticalFlowPyrLK on openCV 2.4.2

calcOpticalFlowPyrLK on openCV 2.4.2

本文关键字:openCV on calcOpticalFlowPyrLK      更新时间:2023-10-16

我对opencv 2.4.2上的新calcOpticalFlowPyrLK函数有一些问题。这是我的旧功能和参数:

calcOpticalFlowPyrLK(prevImg, currentImg, prevPts, nextPts, status, err, Size(15,15),3, TermCriteria(TermCriteria::COUNT+TermCriteria::EPS, 100, 0.02),OPTFLOW_USE_INITIAL_FLOW,0.0001);

它适用于OpenCV 2.4.1,但现在我尝试在OpenCV 2.4.2上使用它。它给出了以下错误:

/src/NaturalFeatureRecognition/OpticalFlowTracker.cpp:164: error: undefined reference to 'cv::calcOpticalFlowPyrLK(cv::_InputArray const&, cv::_InputArray const&, cv::_InputArray const&, cv::_OutputArray const&, cv::_OutputArray const&, cv::_OutputArray const&, cv::Size_<int>, int, cv::TermCriteria, int, double)'

确保您在项目设置中链接了所有OpenCV库-我认为这个函数的原型在新的OpenCV版本中没有改变。

您忘记将其添加为标题:

#include <opencv2/video/tracking.hpp>

在我的情况下(Opencv2.4.8+QT),我不得不在我的项目的专业文件中添加到libopencv_video248.dll.a的路径:LIBS += C:\Opencv2.4.8\install\x64\mingw\lib\libopencv_video248.dll.a