]> rtime.felk.cvut.cz Git - opencv.git/commitdiff
added case for Farnerbeck Gauss alg
authoranatoly <anatoly@73c94f0f-984f-4a5f-82bc-2d8db8d8ee08>
Tue, 8 Dec 2009 11:54:09 +0000 (11:54 +0000)
committeranatoly <anatoly@73c94f0f-984f-4a5f-82bc-2d8db8d8ee08>
Tue, 8 Dec 2009 11:54:09 +0000 (11:54 +0000)
git-svn-id: https://code.ros.org/svn/opencv/trunk@2381 73c94f0f-984f-4a5f-82bc-2d8db8d8ee08

opencv/tests/cv/src/optflow.cpp
opencv_extra/testdata/cv/shared/lena.jpg [new file with mode: 0644]

index f5d3bc17b46c90cae5eb1914273a8c8845a5994c..4f3a5a2d958fef71352d86ef98f82d776fb6ac85 100644 (file)
@@ -223,7 +223,7 @@ bool CV_OptFlowTest::runDense(const Point& d)
 \r
     Rect rect(Point(prev.cols/2, prev.rows/2) - Point(movSize.width/2, movSize.height/2), movSize);\r
 \r
-    Mat flowLK, flowBM, flowHS, flowFB, flowBM_received, m1;\r
+    Mat flowLK, flowBM, flowHS, flowFB, flowFB_G, flowBM_received, m1;\r
 \r
     m1 = prev(rect);                                smpl.copyTo(m1);\r
     m1 = curr(Rect(rect.tl() + d, rect.br() + d));  smpl.copyTo(m1);   \r
@@ -232,6 +232,7 @@ bool CV_OptFlowTest::runDense(const Point& d)
     calcOpticalFlowBM( prev, curr, Size(15, 15), Size(1, 1), Size(15, 15), 0, flowBM_received);       \r
     calcOpticalFlowHS( prev, curr, 0, 5, TermCriteria(TermCriteria::MAX_ITER, 400, 0), flowHS);                 \r
     calcOpticalFlowFarneback( prev, curr, flowFB, 0.5, 3, std::max(d.x, d.y) + 10, 100, 6, 2, 0);\r
+    calcOpticalFlowFarneback( prev, curr, flowFB_G, 0.5, 3, std::max(d.x, d.y) + 10, 100, 6, 2, OPTFLOW_FARNEBACK_GAUSSIAN);            \r
 \r
     flowBM.create(prev.size(), CV_32FC2);\r
     flowBM = Scalar(0);    \r
@@ -242,11 +243,12 @@ bool CV_OptFlowTest::runDense(const Point& d)
     double errorLK = showFlowAndCalcError("LK", prev, flowLK, rect, d);\r
     double errorBM = showFlowAndCalcError("BM", prev, flowBM, rect, d);\r
     double errorFB = showFlowAndCalcError("FB", prev, flowFB, rect, d);\r
+    double errorFBG = showFlowAndCalcError("FBG", prev, flowFB_G, rect, d);\r
     double errorHS = showFlowAndCalcError("HS", prev, flowHS, rect, d); (void)errorHS;     \r
     //waitKey();   \r
 \r
     const double thres = 0.2;\r
-    if (errorLK > thres || errorBM > thres || errorFB > thres /*|| errorHS > thres /**/)\r
+    if (errorLK > thres || errorBM > thres || errorFB > thres || errorFBG > thres /*|| errorHS > thres /**/)\r
     {        \r
         ts->set_failed_test_info(CvTS::FAIL_MISMATCH);\r
         return false;\r
diff --git a/opencv_extra/testdata/cv/shared/lena.jpg b/opencv_extra/testdata/cv/shared/lena.jpg
new file mode 100644 (file)
index 0000000..f06aa74
Binary files /dev/null and b/opencv_extra/testdata/cv/shared/lena.jpg differ