我对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)'
答案 0 :(得分:2)
确保您在项目设置中链接了所有OpenCV库 - 我不认为在新的OpenCV版本中更改了此功能的原型。
答案 1 :(得分:2)
您忘了将其添加为标题:
#include <opencv2/video/tracking.hpp>
答案 2 :(得分:0)
在我的情况下(Opencv2.4.8 + QT)我必须在项目的pro文件中添加 libopencv_video248.dll.a 的路径:
LIBS += C:\\Opencv2.4.8\\install\\x64\\mingw\\lib\\libopencv_video248.dll.a