Imported Debian version 1.0~trusty
[deb_vid.stab.git] / tests / test_localmotion2transform.c
CommitLineData
80f575fc
DM
1void test_localmotion2transform(TestData* testdata){
2 VSMotionDetectConfig mdconf = vsMotionDetectGetDefaultConfig("test_localmotion2transform");
3 VSMotionDetect md;
4 test_bool(vsMotionDetectInit(&md, &mdconf, &testdata->fi) == VS_OK);
5
6 VSTransformConfig tdconf = vsTransformGetDefaultConfig("test_localmotion2transform-trans");
7 VSTransformData td;
8
9 test_bool(vsTransformDataInit(&td, &tdconf, &testdata->fi, &testdata->fi) == VS_OK);
10 fprintf(stderr,"MotionDetect:\n");
11 int numruns =5;
12 int i;
13 //int t;
14 // for(t = 1; t <= 4; t++){
15 int start = timeOfDayinMS();
16 // omp_set_dynamic( 0 );
17 // omp_set_num_threads( t );
18
19 for(i=0; i<numruns; i++){
20 LocalMotions localmotions;
21 VSTransform t;
22 test_bool(vsMotionDetection(&md, &localmotions,&testdata->frames[i])== VS_OK);
23 /* for(k=0; k < vs_vector_size(&localmotions); k++){ */
24 /* localmotion_print(LMGet(&localmotions,k),stderr); */
25 /* } */
26 t = vsMotionsToTransform(&td, &localmotions, 0);
27
28 vs_vector_del(&localmotions);
29 fprintf(stderr,"%i: ",i);
30 storeVSTransform(stderr,&t);
31 VSTransform orig = mult_transform_(getTestFrameTransform(i),-1.0);
32 VSTransform diff = sub_transforms(&t,&orig);
33 int tolerance = fabs(diff.x)<1 && fabs(diff.y)<1 && fabs(diff.alpha)<0.001;
34 if(!tolerance){
35 fprintf(stderr,"Difference: ");
36 storeVSTransform(stderr,&diff);
37 }
38 test_bool(tolerance);
39 }
40 int end = timeOfDayinMS();
41
42 fprintf(stderr,"\n*** elapsed time for %i runs: %i ms ****\n", numruns, end-start );
43
44 vsMotionDetectionCleanup(&md);
45}