Пример #1
0
int
Statistic::ajustement(QVector<double> &Xi,QVector<double> &Yi,int n)
{
        QVector<double> r(5),lnXi(100),lnYi(100),logXi(100),logYi(100),invXi(100);

        //corrélation pour linéaire

        r[0]=val_abs(corr(Xi,Yi,n));

        //corrélation pour exponetielle

        lntab(Yi,lnYi,n);
        r[1]=val_abs(corr(Xi,lnYi,n));

        //corrélation pour puissance

        logtab(Xi,logXi,n);
        logtab(Yi,logYi,n);
        r[2]=val_abs(corr(logXi,logYi,n));

        //corrélation pour inverse

        invtab(Xi,invXi,n);
        r[3]=val_abs(corr(invXi,Yi,n));

        //corrélation pour logarithmique

        lntab(Xi,lnXi,n);
        r[4]=val_abs(corr(lnXi,Yi,n));

        //Test du meilleur ajustement

        return rmax(r);
}
Пример #2
0
int HrPwWindow::fit(QVector<double> &Xi,QVector<double> &Yi,int n)
{
        QVector<double> r(5),lnXi(100),lnYi(100),logXi(100),logYi(100),invXi(100);

        //Linear correlation

        r[0]=val_abs(corr(Xi,Yi,n));

        //Exponential correlation

        lnarray(Yi,lnYi,n);
        r[1]=val_abs(corr(Xi,lnYi,n));

        //Power correlation

        logarray(Xi,logXi,n);
        logarray(Yi,logYi,n);
        r[2]=val_abs(corr(logXi,logYi,n));

        //Inverse correlation

        invarray(Xi,invXi,n);
        r[3]=val_abs(corr(invXi,Yi,n));

        //Logarithmic correlation

        lnarray(Xi,lnXi,n);
        r[4]=val_abs(corr(lnXi,Yi,n));

        //Best fit test

        return rmax(r);
}
Пример #3
0
main ()
{
  
  int i,j,k;
  
  for (i=0; i < PICTURE_VERTICAL_SIZE; i++) {
    for (j=PICTURE_HORIZONTAL_OFFSET; j < PICTURE_HORIZONTAL_SIZE+PICTURE_HORIZONTAL_OFFSET; j++) {
      image_original[i][j-PICTURE_HORIZONTAL_OFFSET] = Y_test[i][j];
    }
  }
  
  for (i=0; i < PICTURE_VERTICAL_SIZE; i++) {
    for (j=PICTURE_HORIZONTAL_OFFSET; j < PICTURE_HORIZONTAL_SIZE+PICTURE_HORIZONTAL_OFFSET; j++) {
      image_test[i][j-PICTURE_HORIZONTAL_OFFSET] = Y_test[i][j];
    }
  }
  
  for (i=0; i < PICTURE_VERTICAL_SIZE; i++) {
    for (j=PICTURE_HORIZONTAL_OFFSET; j < PICTURE_HORIZONTAL_SIZE+PICTURE_HORIZONTAL_OFFSET; j++) {
      image_back[i][j-PICTURE_HORIZONTAL_OFFSET] = Y_back[i][j];
    }
  }
  
  printf("Starting Motion Detection Application: \n\n");
  
  printf("__attribute__((section(\".heapl2ram\"))) pixel Y_back[%d][%d] = \n{\n",PICTURE_VERTICAL_SIZE,PICTURE_HORIZONTAL_SIZE);
  
  print_image_vect((pixel*)image_back);
  
  printf("};\n");
  
  printf("__attribute__((section(\".heapl2ram\"))) pixel Y_test[%d][%d] = \n{\n",PICTURE_VERTICAL_SIZE,PICTURE_HORIZONTAL_SIZE);
  
  print_image_vect((pixel*)image_test);
  
  printf("};\n");
  
  printf("Subtraction and binarization treshold \n\n");
  sub_image((pixel*)image_test, (pixel*)image_back);
  
  print_image((pixel*)image_test);
  
  max_pixel= max_image((pixel*)image_test);
  
  printf("Max pixel = %d \n\n",max_pixel);
  
  printf("Binarization \n\n");
  binarisation((pixel*)image_test, (int)max_pixel*3/10,1,0);
  
  print_image((pixel*)image_test);
  
  printf("Erosion \n\n");
  erosion((pixel*)image_test,KERNEL_SIZE,(pixel*)image_back);
  print_image((pixel*)image_back);
  
  printf("Dilatation \n\n");
  dilatation((pixel*)image_back,KERNEL_SIZE ,(pixel*)image_test_out);
  print_image((pixel*)image_test_out);
  
  printf("Sobel Horizontal \n\n");
  convolution_rect((pixel*)image_test_out, KERNEL_SIZE, sobel1,(pixel*)image_test);
  val_abs((pixel*)image_test);
  
  print_image((pixel*)image_test);
  
  printf("Sobel Vertical \n\n");
  convolution_rect( (pixel*)image_test_out, KERNEL_SIZE, sobel2,(pixel*)image_back);
  val_abs((pixel*)image_back);
  
  print_image((pixel*)image_back);
  
  printf("Final Sum \n\n");
  sum_image((pixel*)image_test, (pixel*)image_back);
  binarisation((pixel*)image_test, 1,0,1);
  
  print_image((pixel*)image_test);
  
  printf("Final Multiplication \n\n");
  multiply((pixel*)image_test, (pixel*)image_original);
  
  printf("__attribute__((section(\".heapl2ram\"))) pixel Y_golden[%d][%d] = \n{\n",PICTURE_VERTICAL_SIZE,PICTURE_HORIZONTAL_SIZE);
  
  print_image_vect((pixel*)image_test);
  
  printf("};\n\n");
  
  printf("Motion Detection Application Completed\n");
  
}