Merge pull request #7508 from alalek:fix_optflow_test
This commit is contained in:
commit
e15acd4fcf
@ -66,7 +66,7 @@ void CV_OptFlowPyrLKTest::run( int )
|
||||
double max_err = 0., sum_err = 0;
|
||||
int pt_cmpd = 0;
|
||||
int pt_exceed = 0;
|
||||
int merr_i = 0, merr_j = 0, merr_k = 0;
|
||||
int merr_i = 0, merr_j = 0, merr_k = 0, merr_nan = 0;
|
||||
char filename[1000];
|
||||
|
||||
CvPoint2D32f *u = 0, *v = 0, *v2 = 0;
|
||||
@ -153,12 +153,18 @@ void CV_OptFlowPyrLKTest::run( int )
|
||||
if( status[i] != 0 )
|
||||
{
|
||||
double err;
|
||||
if( cvIsNaN(v[i].x) )
|
||||
if( cvIsNaN(v[i].x) || cvIsNaN(v[i].y) )
|
||||
{
|
||||
merr_j++;
|
||||
continue;
|
||||
}
|
||||
|
||||
if( cvIsNaN(v2[i].x) || cvIsNaN(v2[i].y) )
|
||||
{
|
||||
merr_nan++;
|
||||
continue;
|
||||
}
|
||||
|
||||
err = fabs(v2[i].x - v[i].x) + fabs(v2[i].y - v[i].y);
|
||||
if( err > max_err )
|
||||
{
|
||||
@ -198,6 +204,13 @@ void CV_OptFlowPyrLKTest::run( int )
|
||||
goto _exit_;
|
||||
}
|
||||
|
||||
if( merr_nan > 0 )
|
||||
{
|
||||
ts->printf( cvtest::TS::LOG, "NAN tracking result with status != 0 (%d times)\n", merr_nan );
|
||||
code = cvtest::TS::FAIL_BAD_ACCURACY;
|
||||
goto _exit_;
|
||||
}
|
||||
|
||||
_exit_:
|
||||
|
||||
cvFree( &status );
|
||||
|
||||
Loading…
Reference in New Issue
Block a user