亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? eigcode.c

?? feret人臉圖象數(shù)據(jù)庫處理代碼
?? C
字號(hào):
/*----------------------------------------------------------------------PROGRAM: eigcode.cDATE:    01/15/94AUTHOR:  Baback Moghaddam         baback@media.mit.edu------------------------------------------------------------------------Reads input list of files & eigenvector DAT files and compues the projectioncoefficients. Outputs ASCII vectors in output directoryThe mean float image is data0 in the eigenvector direcotry and the remaining eigenimages should be named data1, data2 .... dataN-1.------------------------------------------------------------------------ */#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>#include <float.h>#include "util.h"#include "io.h"/* ----------- Command-Line Parsing Stuff ------- */extern int optind;extern char *optarg;char *progname;          /* used to store the name of the program  */char comline[170];       /* used to store the entire command line  */#define OPTIONS "i:l:e:o:n:dtrs:m:a:"char *usage = "\t -i indir -l list -e eigdir -o outdir\n\\t\t [-n int] [-d] [-t descriptor_dir]\n\\t\t [-r] [-s sigma] [-m N_its] [-a alpha]\n";char *help = "\Computes the Eigenvector Projection Coefficients for a set of images\n\n\-i indir   \t input directory\n\-l list    \t ASCII file listing indir files to be processed (one per line)\n\-e eigdir  \t DAT-file directory of eigenvectors (same size as input files)\n\-o outdir  \t output directory for coefficients (same filenames as input)\n\-n integer \t computes the first n eigenvector coefficients only\n\-d         \t computes the residual error for each image\n\-t desc_dir\t directory containing input descriptor (default = indir)\n\-r         \t select robust projection method\n\-s sigma   \t sigma factor for robust norm (default = 50)\n\-m N_its   \t number of iterations for robust method (default = 50)\n\-a alpha   \t iteration update coefficient (default = 1.0)\n";#define MAX_CHARS 256/* ---------- Globals for Robust Method ----------- */float ** robust_Phi;float * robust_X;float * robust_E;float * robust_W;int     robust_Ndim;float robust_project(float *X, int N, float **Phi, int M,		     float *C, float sigma, int N_its, float alpha);/*----------------------------------------------------------------------*//* ---------------------------- MAIN ---------------------------------- */main(int argc, char *argv[]){  register int i, j, k, l;  int f, c, nframe, neigframe, sets, channels, bytes_pixel, nrow, ncol,       in_nrow, in_ncol, in_sets, in_channels;  char command[MAX_CHARS],infile[MAX_CHARS],eigdir[MAX_CHARS],       outdir[MAX_CHARS],filename[MAX_CHARS],listfile[MAX_CHARS],       line[MAX_CHARS],indir[MAX_CHARS],descdir[MAX_CHARS];  float  fval, **image, **test, error, ***eigimages, *coeffs;  FILE *fp1, *fp2;  /* required input flags */    int errflag   = 0;  int inflag    = 0;  int outflag   = 0;  int eigflag   = 0;  int listflag  = 0;  /* command line defaults */    int neigframe_select = 0;  int neigframe_in;  int residual_select = 0;  int desc_flag = 0;  int robust_select  =  0;  float robust_sigma = 50;  float robust_alpha = 1.0;  int   robust_N_its = 50;  /* setup program name and command line strings */    progname = argv[0];  for (i=0; i<argc; i++)    strcat(comline, argv[i]),strcat(comline, " ");      /* ----------------------  Command Line Parse ------------------------ */    while ((c = getopt(argc, argv, OPTIONS)) != EOF)    switch (c) {          case 'i':      strcpy(indir, optarg);      inflag = 1;      break;    case 'l':      strcpy(listfile, optarg);      listflag = 1;      break;    case 'e':      strcpy(eigdir, optarg);      eigflag = 1;      break;    case 'o':      strcpy(outdir, optarg);      outflag = 1;      break;    case 'n':      neigframe_in = atoi(optarg) + 1;      neigframe_select = 1;      break;    case 'd':      residual_select = 1;      break;    case 't':      strcpy(descdir, optarg);      desc_flag = 1;      break;    case 'r':      robust_select = 1;      break;    case 's':      robust_sigma = atof(optarg);      break;    case 'm':      robust_N_its = atoi(optarg);      break;    case 'a':      robust_alpha = atof(optarg);      break;    case '?':      errflag = 1;      break;          }      /* command line error check */    if (errflag || !inflag || !eigflag || !outflag) {    fprintf(stderr,"\nUSAGE: %s %s\n%s\n", progname, usage, help);    exit(1);  }    /* ----  read Eigenimage DAT-file parameters and eigenvectors -------- */    /* read_descriptor(eigdir, &neigframe, &sets, &bytes_pixel, &ncol, &nrow); */  read_descriptor2(eigdir, &neigframe, &sets, &channels, 		   &bytes_pixel, &ncol, &nrow);  if (sets>1)     myerror("Eigenvector files must be single-set DAT files!");  if (neigframe_select==1) {    if (neigframe_in>neigframe)      myerror("Can't use more Eigenimages than available!");    neigframe = neigframe_in;  }  eigimages = f3tensor(0, neigframe-1, 1, nrow*channels, 1, ncol);  for (f=0; f<neigframe; f++) {    if (bytes_pixel==1)      read_DAT_frame(eigimages[f], eigdir, f, neigframe, nrow*channels, ncol);    if (bytes_pixel==4) {      sprintf(filename,"%s/data%d", eigdir, f);      read_RAW_float(filename, eigimages[f], nrow*channels, ncol);    }  }  fprintf(stdout,	  "Read %3d  %d-by-%d  %d-channel %s eigenvector files from %s/\n\n",	  neigframe, nrow, ncol, channels, 	  (bytes_pixel==4 ? "float":"uchar"), eigdir);  coeffs = vector(0, neigframe);  image = matrix(1, nrow*channels, 1, ncol);    /* ----  read indir descriptor file -------- */  /*read_descriptor(indir, &nframe, &sets, &bytes_pixel,&in_ncol,&in_nrow); */  if (desc_flag == 0)    read_descriptor2(indir, &nframe, &in_sets, &in_channels, 		     &bytes_pixel, &in_ncol, &in_nrow);  else    read_descriptor2(descdir, &nframe, &in_sets, &in_channels, 		     &bytes_pixel, &in_ncol, &in_nrow);   if (nrow!=in_nrow || ncol!=in_ncol) {    fprintf(stderr,	    "ERROR: Input dimensions %d-by-%d don't match eigenvector dimensions %d-by-%d.\n",	    in_nrow, in_ncol, nrow, ncol);    exit(1);  }  if (channels != in_channels) {    fprintf(stderr,	    "ERROR: Input channels (%d) don't match eigenvectors' (%d)\n", 	    channels, in_channels);    exit(2);  }  if (in_sets>1)     myerror("Input files must be single-set DAT files!");    if (residual_select>0)    test = matrix(1, nrow*channels, 1, ncol);  if (robust_select>0) {        robust_Ndim   = nrow*ncol*channels;    robust_Phi = matrix(1, robust_Ndim, 1, neigframe-1);    robust_X   = vector(1, robust_Ndim);    robust_E   = vector(1, robust_Ndim);    robust_W   = vector(1, robust_Ndim);    /* create transposed eigenvector matrix */    for (k=1; k<neigframe; k++) {      l = 1;      for (i=1; i<=nrow*channels; i++)	for (j=1; j<=ncol; j++)	  robust_Phi[l++][k] = eigimages[k][i][j];    }  }  /* ---- loop over input list file and warp ------- */  if ((fp1 = fopen(listfile, "r")) == NULL) {    fprintf(stderr,"ERROR: Could not open input file %s \n\n", listfile);    exit(1);  }  nframe = 0;  while (fgets(line, MAX_CHARS, fp1)) {    if (strncmp(line, "#", 1) != 0 && strlen(line)>1) {            nframe++;            /* ------- get filename ------- */             sscanf(line,"%s",infile);        sprintf(filename,"%s/%s", indir, infile);      if (bytes_pixel==4)	read_RAW_float(filename, image, nrow*channels, ncol);      else	read_RAW(filename, image, nrow*channels, ncol);      fprintf(stdout,"Read %d-by-%d  %d-channel %s input file %s\n",	      nrow, ncol, channels, (bytes_pixel==4 ? "float":"uchar"),	      filename);                  /* -------- compute projection coefficients ------ */            if (robust_select>0) {	      	l = 1;	for (i=1; i<=nrow*channels; i++)	  for (j=1; j<=ncol; j++)	    robust_X[l++] = image[i][j] - eigimages[0][i][j]; 	for (i=0; i<neigframe; i++)	  coeffs[i] = 0;	fval = robust_project(robust_X, robust_Ndim, robust_Phi,			      neigframe-1, coeffs, robust_sigma,			      robust_N_its, robust_alpha);	fprintf(stdout,"Performed %3d robust iterations,  Norm = %f\n",		robust_N_its, fval);       }            else {   /* --- standard projection --- */	for (i=1; i<=nrow*channels; i++) 	  for (j=1; j<=ncol; j++) 	    image[i][j] -= eigimages[0][i][j];		for (k=1; k<neigframe; k++) {	  fval = 0.0;	  for (i=1; i<=nrow*channels; i++)	    for (j=1; j<=ncol; j++) 	      fval += (image[i][j] * eigimages[k][i][j]);	  coeffs[k] = fval;	}      }      fprintf(stdout,"Computed %d coefficients, ", neigframe-1);                  /* --------- DEBUG:  reconstruction -------------- */      if (residual_select>0) {		for (i=1; i<=nrow*channels; i++) 	  for (j=1; j<=ncol; j++) {	    fval = 0.0;	    for (k=1; k<neigframe; k++) 	      fval += (eigimages[k][i][j] * coeffs[k]);	    test[i][j] = fval;	  }	error = 0.0; 	for (i=1; i<=nrow*channels; i++) 	  for (j=1; j<=ncol; j++) { 	    error += SQR(test[i][j] - image[i][j]);	  }	fprintf(stdout,"residual = %g  \n", error/(nrow*channels*ncol));      }      else	fprintf(stdout,"\n");                  /* ---- write results to output directory -------- */            sprintf(filename,"%s/%s", outdir, infile);          if ( (fp2 = fopen(filename, "w")) == NULL)	myerror("could not open output file.");      for (i=1; i<neigframe; i++)	fprintf(fp2, "%f\n", coeffs[i]);      fclose(fp2);      fprintf(stdout,"Wrote %d-by-1 ASCII coefficient file to %s\n\n", 	      neigframe-1, filename);    }  }  /* end of main processing loop */    fclose(fp1);  /* ----  open output data file in outdir ---- */  /* write_descriptor(outdir, nframe, 1, neigframe-1, 0, comline); */  write_descriptor2(outdir, nframe, 1, 1, 1, neigframe-1, 0, comline);    /* --- free up allocated matrices ----- */  free_f3tensor(eigimages, 0, neigframe-1, 1, nrow*channels, 1, ncol);  free_matrix(image, 1, nrow*channels, 1, ncol);  if (residual_select>0)    free_matrix(test, 1, nrow*channels, 1, ncol);  free_vector(coeffs, 0, neigframe);  if (robust_select>0) {    free_matrix(robust_Phi, 1, robust_Ndim, 1, neigframe-1);    free_vector(robust_X, 1, robust_Ndim);    free_vector(robust_E, 1, robust_Ndim);    free_vector(robust_W, 1, robust_Ndim);  }    return 0;  }/* -----------END OF MAIN ----------------------------------------- */float robust_project(float *X, int N, float **Phi, int M,		    float *C, float sigma, int N_its, float alpha){  register int n,i,j,k;  float sum;  float s2 = sigma*sigma;  float J;  for (n=1; n<=N_its; n++)  {    /* compute error:  E = X - Phi*C */        for (i=1; i<=N; i++) {      sum = 0.0;      for (k=1; k<=M; k++)	sum += Phi[i][k] * C[k];      robust_E[i] = X[i] - sum;    }    /* compute cost */        sum = 0;    for (i=1; i<=N; i++)       sum += SQR(robust_E[i]) / (s2 + SQR(robust_E[i]));    J = sum;    fprintf(stderr,"robust_project(): J(%d) = %f\n",n,J);    /* compute weights:  W = 2*E*sigma^2 ./ (sigma^2 + E.^2).^2 */    for (i=1; i<=N; i++)       robust_W[i] = 2*robust_E[i]*s2 / SQR((s2 + SQR(robust_E[i])));    /* update coefficients:  C = C + alpha * Phi' * W    */         for (i=1; i<=M; i++) {      sum = 0.0;      for (j=1; j<=N; j++)	sum += (Phi[j][i] * robust_W[j]);      C[i] += alpha * sum;    }  }  /* -- end of iteration loop -- */   return J;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕一区二区三区视频| 久久久久久9999| 国产很黄免费观看久久| 一区二区日韩电影| 精品处破学生在线二十三| 91在线观看下载| 九一九一国产精品| 亚洲国产精品久久人人爱蜜臀| 久久久久久久久久久黄色| 久久久久久一二三区| 亚洲欧美电影一区二区| 日韩一区二区三区电影在线观看| 97se亚洲国产综合自在线观| 狠狠色丁香久久婷婷综合_中| 亚洲成人免费在线| 亚洲精品视频免费观看| 国产午夜精品久久久久久免费视 | 国产高清精品在线| 亚洲福中文字幕伊人影院| 欧美国产在线观看| 日韩精品一区二| 欧美日韩成人综合| 在线观看视频欧美| 成人av综合在线| 国产精品原创巨作av| 免费av网站大全久久| 天堂蜜桃一区二区三区| 亚洲尤物在线视频观看| 国产精品乱人伦| 国产日本亚洲高清| 久久精品亚洲麻豆av一区二区 | 欧美亚洲另类激情小说| 91九色02白丝porn| 国产一区二区三区综合| 六月丁香综合在线视频| 五月激情六月综合| 日韩av高清在线观看| 日韩制服丝袜av| 亚洲午夜久久久久久久久久久| 免费人成黄页网站在线一区二区| 婷婷成人综合网| 天天操天天色综合| 免费在线观看成人| 久久66热re国产| 国内外成人在线| 国产精品系列在线播放| 高清久久久久久| 成人app在线| 色婷婷综合久色| 欧美三级电影在线看| 欧美精品在线一区二区| 日韩欧美在线网站| 久久久99精品免费观看| 国产精品国模大尺度视频| 亚洲人成精品久久久久久| 亚洲精品成a人| 亚洲成av人片www| 麻豆91精品视频| 国产老女人精品毛片久久| 成人黄色小视频| 在线看不卡av| 欧美一区二区三区电影| 久久一区二区三区四区| 国产精品传媒入口麻豆| 亚洲bdsm女犯bdsm网站| 另类综合日韩欧美亚洲| 成人免费精品视频| 欧美性生活久久| 久久亚洲免费视频| 亚洲免费在线看| 蜜桃视频一区二区三区| 国产福利91精品一区二区三区| 91一区二区在线观看| 欧美精品一二三| 久久久久久久久久久久久久久99 | 国产精品久久久久久久久免费桃花 | 亚洲蜜臀av乱码久久精品蜜桃| 亚洲一级片在线观看| 国内精品嫩模私拍在线| 国内精品第一页| 国产ts人妖一区二区| 91无套直看片红桃| 337p亚洲精品色噜噜狠狠| 久久免费视频一区| 亚洲午夜精品在线| 国产综合成人久久大片91| 在线观看日韩一区| 久久欧美中文字幕| 亚洲国产aⅴ成人精品无吗| 国产一区999| 欧美猛男超大videosgay| 国产精品系列在线| 日韩av一级片| 色乱码一区二区三区88| 欧美精品一区二区久久婷婷| 一区二区高清视频在线观看| 国产呦萝稀缺另类资源| 欧美日韩精品欧美日韩精品| 欧美激情一区二区三区不卡| 日本aⅴ精品一区二区三区 | 欧美一激情一区二区三区| 国产精品美女久久久久久久久| 日韩 欧美一区二区三区| 色老汉av一区二区三区| 日本一区二区三区四区| 精品一区二区三区在线播放| 欧美日韩综合在线免费观看| 国产精品每日更新| 国产乱子轮精品视频| 91精品国产色综合久久不卡电影| 亚洲精品视频一区| 99久久777色| 欧美国产日韩精品免费观看| 激情av综合网| 欧美大片在线观看| 免费在线观看不卡| 欧美精品日日鲁夜夜添| 玉米视频成人免费看| 91偷拍与自偷拍精品| 国产精品久久精品日日| 国产成人综合网站| 久久午夜老司机| 国产美女一区二区三区| 亚洲欧洲无码一区二区三区| 久久精品99国产精品| 欧美一卡二卡三卡四卡| 丝袜美腿亚洲综合| 欧美日韩视频专区在线播放| 亚洲一区日韩精品中文字幕| 色悠悠久久综合| 日本欧美在线看| 欧美色网一区二区| 亚洲一区视频在线| 欧美日韩www| 日韩精品一卡二卡三卡四卡无卡| 欧美日韩在线播放一区| 亚洲一区二区三区四区五区黄 | 欧美无乱码久久久免费午夜一区 | 午夜精品一区二区三区三上悠亚| 色婷婷av一区| 亚洲综合免费观看高清完整版 | 亚洲欧美在线观看| 99久久综合色| 亚洲欧美另类久久久精品2019| 不卡在线观看av| 亚洲精品国产一区二区精华液| 91香蕉视频污| 亚洲成av人综合在线观看| 777久久久精品| 久久爱www久久做| 国产清纯美女被跳蛋高潮一区二区久久w| 国产高清在线观看免费不卡| 国产精品久久久久aaaa| 欧美主播一区二区三区| 琪琪一区二区三区| 久久五月婷婷丁香社区| 91一区二区三区在线播放| 亚洲一级片在线观看| 日韩欧美一级二级三级| 国产99久久久精品| 亚洲欧洲成人自拍| 欧美嫩在线观看| 国产高清成人在线| 亚洲在线免费播放| 欧美成人bangbros| 懂色av一区二区三区蜜臀| 亚洲美女电影在线| 欧美精品123区| 国产.欧美.日韩| 亚洲一区二区三区爽爽爽爽爽| 337p亚洲精品色噜噜噜| 国产精品资源站在线| 亚洲精品免费在线播放| 日韩三级在线免费观看| 成人av午夜影院| 天天操天天色综合| 国产精品视频在线看| 欧美日韩三级在线| 国产在线不卡视频| 一区二区三区在线高清| 欧美精品一区二区高清在线观看| 7777精品伊人久久久大香线蕉的 | 精品国产一区二区亚洲人成毛片| 成人免费福利片| 图片区日韩欧美亚洲| 国产婷婷一区二区| 欧美日韩一区中文字幕| 成人性生交大片免费 | 99久久精品免费观看| 麻豆视频观看网址久久| 亚洲欧美二区三区| 久久先锋影音av鲁色资源网| 欧美日韩免费视频| 成人污污视频在线观看| 日本欧美加勒比视频| 成人免费在线视频观看| 欧美精品一区二区三区蜜桃| 欧美精品黑人性xxxx| 一本久久精品一区二区| 国产精华液一区二区三区|