예제 #1
0
double Distance(char *fv1_path, char *fv2_path)
{
  Histogram *lch1=NULL;
  Histogram *lch2=NULL;
  double distance;

  lch1 = ReadFileHistogram(fv1_path);
  lch2 = ReadFileHistogram(fv2_path);

  distance= (double) L1Distance(lch1, lch2);

  DestroyHistogram(&lch1);
  DestroyHistogram(&lch2);

  return distance;
}
예제 #2
0
int main(int argc, char** argv)
{
    timer *tic, *toc;
    CImage *cimg=NULL;
    Image *mask=NULL;
    Histogram *hist=NULL;

    if (argc != 4) {
        fprintf(stderr,"usage: extrai_bic <image> <mask> <outputfile>\n");
        exit(-1);
    }

    cimg = ReadJPEGFile(argv[1]);
    mask = ReadImage(argv[2]);

    tic = Tic();
    hist = BIC(cimg, mask);
    toc = Toc();
    printf("BIC extracted in %f milliseconds\n\n",CTime(tic, toc));

    FILE *fp;
    fp = fopen(argv[3],"w");
    if (fp == NULL) {
        fprintf(stderr,"Cannot open %s\n",argv[3]);
        exit(-1);
    }

    WriteFHist(hist, fp);

    DestroyCImage(&cimg);
    DestroyHistogram(&hist);
    DestroyImage(&mask);
    fclose(fp);
    return(0);
}
예제 #3
0
double Distance(char *fv1_path, char *fv2_path)
{
  Histogram *bic1=NULL;
  Histogram *bic2=NULL;
  double distance;

  bic1 = ReadFileHistogram(fv1_path);
  bic2 = ReadFileHistogram(fv2_path);

  distance = (double) L1Distance(bic1, bic2);

  DestroyHistogram(&bic1);
  DestroyHistogram(&bic2);

  return distance;
}
예제 #4
0
int main(int argc, char** argv)
{
  Histogram *acc1=NULL;
  Histogram *acc2=NULL;
  ulong distance;

  if (argc != 3) {
    fprintf(stderr,"usage: acc_distance <fv1_path> <fv2_path>\n");
    exit(-1);
  }

  acc1 = ReadFileHistogram(argv[1]);
  acc2 = ReadFileHistogram(argv[2]);

  distance=L1Distance(acc1, acc2);
  printf("%ld\n",distance);

  DestroyHistogram(&acc1);
  DestroyHistogram(&acc2);

  return(0);
}
예제 #5
0
int main(int argc, char** argv)
{
  Histogram *ccv1=NULL;
  Histogram *ccv2=NULL;
  double distance;

  if (argc != 3) {
    fprintf(stderr,"usage: ccv_distance fv1_path fv2_path\n");
    exit(-1);
  }

  ccv1 = ReadFileHistogram(argv[1]);
  ccv2 = ReadFileHistogram(argv[2]);

  distance=(double)L1Distance(ccv1, ccv2);
  printf("%lf\n",distance);

  DestroyHistogram(&ccv1);
  DestroyHistogram(&ccv2);

  return(0);
}
예제 #6
0
void Extraction(char *img_path, char *fv_path)
{
  CImage *cimg=NULL;
  Histogram *acc=NULL;

  cimg = ReadCImage(img_path);

  acc = ACC(cimg);

  WriteFileHistogram(acc,fv_path);
  DestroyHistogram(&acc);
  DestroyCImage(&cimg);

}
예제 #7
0
void Extraction(char *img_path, char *fv_path)
{
  CImage *cimg=NULL;
  Image *mask=NULL;
  Histogram *lch=NULL;

  cimg = ReadCImage(img_path);
  mask = CreateImage(cimg->C[0]->ncols, cimg->C[0]->nrows);

  lch = LCH(cimg, mask);

  WriteFileHistogram(lch,fv_path);
  DestroyHistogram(&lch);
  DestroyCImage(&cimg);
  DestroyImage(&mask);

}
예제 #8
0
void Extraction(char *img_path, char *fv_path)
{
  CImage *cimg=NULL;
  Image *mask=NULL;
  Histogram *bic=NULL;

  cimg = ReadCImage(img_path);
  mask = CreateImage(cimg->C[0]->ncols, cimg->C[0]->nrows);

  bic = BIC(cimg, mask);

  WriteFileHistogram(bic,fv_path);
  DestroyHistogram(&bic);
  DestroyImage(&mask);
  DestroyCImage(&cimg);

}
예제 #9
0
int main(int argc, char** argv)
{
  CImage *cimg=NULL;
  Histogram *acc=NULL;

  if (argc != 3) {
    fprintf(stderr,"usage: acc_extraction <img_path> <fv_path>\n");
    exit(-1);
  }

  cimg = ReadCImage(argv[1]);

  acc = ACC(cimg);

  WriteFileHistogram(acc,argv[2]);
  DestroyHistogram(&acc);
  DestroyCImage(&cimg);

  return(0);
}