Updated by Marina Kolpakova almost 13 years ago

In file modules/video/src/lkpyramid.cpp, line 1072, inside function cvCalcOpticalFlowPyrLK(), its C++ version is called with a wrong input parameter.

The declaration of cv::calcOpticalFLowPyrLK() is
<pre><code class="cpp">


void cv::calcOpticalFlowPyrLK( InputArray _prevImg, InputArray _nextImg,
InputArray _prevPts, InputOutputArray _nextPts,
OutputArray _status, OutputArray _err,
Size winSize, int maxLevel,
TermCriteria criteria,
double derivLambda,
int flags, double minEigThreshold )
</code></pre>


while inside cvCalcOpticalFlowPyrLK(), it is called:
<pre><code class="cpp">


cv::calcOpticalFlowPyrLK( A, B, ptA, ptB, status ? cv::_OutputArray(st) : cv::_OutputArray(),
error ? cv::_OutputArray(err) : cv::_OutputArray(),
winSize, level, criteria, flags);
</code></pre>


The 10th parameter is replaced by "int flags", which is actually "double derivLamba".

Back