@@ -69,7 +69,7 @@ TEST_P(TrackingTest, accuracy)
6969 ptsEst.push_back (p);
7070 }
7171
72- std::vector< int32_t > statusVec (nPts);
72+ cv::Mat statusVec (nPts, 1 , CV_32S, cv::Scalar::all ( 0 ) );
7373
7474 cv::TermCriteria termCrit;
7575 termCrit.type = cv::TermCriteria::COUNT | cv::TermCriteria::EPS;
@@ -90,16 +90,16 @@ TEST_P(TrackingTest, accuracy)
9090 }
9191
9292 std::vector<cv::Point2f> ocvPtsOut;
93- std::vector< uint8_t > ocvStatusVec;
93+ cv::Mat ocvStatusVec;
9494 std::vector<float > ocvErrVec;
9595 cv::calcOpticalFlowPyrLK (src, dst, ptsIn, ocvPtsOut, ocvStatusVec, ocvErrVec, {winSz, winSz}, nLevels - 1 , termCrit);
9696
9797 cv::Mat refStatusVec (nPts, 1 , CV_32S, Scalar::all (1 ));
9898 cv::Mat ocvStatusVecInt;
99- cv::Mat ( ocvStatusVec) .convertTo (ocvStatusVecInt, CV_32S);
99+ ocvStatusVec.convertTo (ocvStatusVecInt, CV_32S);
100100
101101 double statusNormOcv = cv::norm (ocvStatusVecInt, refStatusVec, NORM_INF);
102- double statusNorm = cv::norm (cv::Mat ( statusVec), refStatusVec, NORM_INF);
102+ double statusNorm = cv::norm (statusVec. t ( ), refStatusVec, NORM_INF);
103103
104104 EXPECT_EQ (statusNormOcv, 0 );
105105 EXPECT_EQ (statusNorm, 0 );
@@ -108,7 +108,7 @@ TEST_P(TrackingTest, accuracy)
108108 double diffNorm = cv::norm (ptsOut, ptsExpected, NORM_L2);
109109
110110 EXPECT_LT (diffNormOcv, 31.92 );
111- EXPECT_LT (diffNorm, 6.69 );
111+ EXPECT_LT (diffNorm, 6.73 );
112112
113113 if (cvtest::debugLevel > 0 )
114114 {
@@ -127,17 +127,16 @@ TEST_P(TrackingTest, accuracy)
127127 drawPts (ptsOut, " track_w" +std::to_string (winSz)+" _warped.png" );
128128 drawPts (ocvPtsOut, " track_ocv_warped.png" );
129129
130- std::cout << " status vec:" << std::endl << cv::Mat ( statusVec). t () << std::endl;
131- std::cout << " status vec ocv:" << std::endl << cv::Mat ( ocvStatusVec). t () << std::endl;
130+ std::cout << " status vec:" << std::endl << statusVec << std::endl;
131+ std::cout << " status vec ocv:" << std::endl << ocvStatusVec << std::endl;
132132 }
133133}
134134
135- // BUG: https://github.com/opencv/opencv_contrib/issues/3958
136- // INSTANTIATE_TEST_CASE_P(FastCV_Extension, TrackingTest,
137- // ::testing::Combine(::testing::Values(5, 7, 9), // window size
138- // ::testing::Bool(), // useSobelPyramid
139- // ::testing::Bool(), // useFastCvPyramids
140- // ::testing::Bool() // useInitialEstimate
141- // ));
135+ INSTANTIATE_TEST_CASE_P (FastCV_Extension, TrackingTest,
136+ ::testing::Combine (::testing::Values(5 , 7 , 9 ), // window size
137+ ::testing::Bool(), // useSobelPyramid
138+ ::testing::Bool(), // useFastCvPyramids
139+ ::testing::Bool() // useInitialEstimate
140+ ));
142141
143142}} // namespaces opencv_test, ::
0 commit comments