\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
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
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