openCV 2.4.2 上的 calcOpticalFlowPyrLK

Posted

技术标签:

【中文标题】openCV 2.4.2 上的 calcOpticalFlowPyrLK【英文标题】:calcOpticalFlowPyrLK on openCV 2.4.2 【发布时间】:2012-07-16 07:49:45 【问题描述】:

我对 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)'

【问题讨论】:

【参考方案1】:

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

【讨论】:

你说得对,谢谢,我忘记了“opencv_video”,现在它可以工作了。 @Astor 谢谢。我已经知道了,看来我的错误是缺少标题而不是链接库。【参考方案2】:

您忘记将其添加为标题:

#include <opencv2/video/tracking.hpp>

【讨论】:

【参考方案3】:

在我的情况下(Opencv2.4.8 +QT)我必须在我的项目的配置文件中添加 libopencv_video248.dll.a 的路径: LIBS += C:\\Opencv2.4.8\\install\\x64\\mingw\\lib\\libopencv_video248.dll.a

【讨论】:

以上是关于openCV 2.4.2 上的 calcOpticalFlowPyrLK的主要内容,如果未能解决你的问题,请参考以下文章

Opencv 2.4.2 代码解释-人脸识别

OpenCV 2.4.2 findContours(),如何只得到直线轮廓

在 xcode 4.5.1 上链接库 OpenCV 2.4.2

Opencv学习笔记——基础知识

VideoCapture 在 OpenCV 2.4.2 中不起作用

Atitit opencv版本新特性attilax总结