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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? new_ms_eigsearch.c

?? feret人臉圖象數據庫處理代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*----------------------------------------------------------------------PROGRAM: new_ms_eigsearch.cDATE:    2/24/95AUTHOR:  Baback Moghaddam, baback@media.mit.edu------------------------------------------------------------------------  Multiple-Scale Local feature search by eigentemplates  This routine looks for 2 (3) BF files in the datapath (defined below):  1. features.bf  which is an N-by-2 matrix defining the size (row,col)     of each of the N templates.  2. template[n].bf  where n=1...N is the eigenvector ROW matrix where     the 1st row is the mean feature, and the remaining rows     are the principal eigenvectors 1:M.      NOTE: The eigenvectors are stored in column-order (as in MATLAB)  3. variances.bf which is an N-by-M matrix, where each row represents     the rank-ordered eigenvalues associated with that feature     NOTE: The set of scales over which the search is to be performed           is provided in an ASCII file of the format:	   s1	   s2	   .	   .	   .	   sN----------------------------------------------------------------------   NOTE: In this version if unitmap'ing is selected it will use         the Mahalanobis mean/stddev in addition to the standard	 distance computation.	 Also fixed the unitmap musigma cost 	 Includes patch dump additions from rena------------------------------------------------------------------------     Configure this code using the following defines:          DO_VAR:     will set each pixel whose surrond's variance                 is < VAR_THRESHOLD to VAR_MAXVALUE	       ---------------------------------------------------------------------- */#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>#include <float.h>#include "util.h"#include "io.h"#include "matrix.h"#include "affine.h"struct Points {  int n;  int *x;  int *y;  float *f;};struct Point {  int x;  int y;  float f;};/* ----------- CONFIGURES ---------------- */#define DO_VAR                  0     /*  variance check     */#define VAR_THRESHOLD           100   /*  threshold for low-var patches */#define VAR_MAXVALUE            1e7   /*  replacement in distance map   */#define MAX_NUM_TEMPLATES       5#define MAX_NUM_SCALES          32#define MAX_NUM_EIGENVECTORS    128   /* for static storage in dffs() */#define MAX_VECTOR_LENGTH       128    /* for static storage in mahalanobis_distance() */#define MAX_CHARS               512/* ----------- Command-Line Parsing Stuff ------- */extern int optind;extern char *optarg;char *progname;          /* used to store the name of the program  */char comline[MAX_CHARS]; /* used to store the entire command line  */#define OPTIONS "i:l:s:d:o:a:b:k:gumnvcefp"      /* RENA added p option */char *usage = "\t-i indir -l list -s scalefile [-d datadir]\n\\t\t\t[-o outfile] [-a first_ev] [-b last_ev] [-k feature]\n\\t\t\t[-g] [-u] [-m] [-n] [-v] [-e] [-c] [-f] [-p]\n";       /* RENA added [-p] */char *help = "\Multiscale Eigentemplate Search\n\n\-i indir   \t input directory\n\-l listfile\t ASCII file listing indir files to process (one per line)\n\-s scalefile\t ASCII file of scales\n\-d datadir \t data dir holding eigentemplate BF files (default = ./)\n\-o outfile \t output file (default = ./ms_eigsearch.out)\n\-a first_ev\t first eigenvector (default = 1)\n\-b last_ev \t last eigenvector  (default = 5)\n\-k feature \t search for the k-th feature only\n\-g         \t pre-process with graymap\n\-u         \t pre-process with unitmap\n\-m         \t use Mahalanobis distance instead of DFFS\n\-n         \t use optimal weight rho^* (default = lambda_{last_ev+1})\n\-v         \t use normalized correlation (distance = 1 - nc)\n\-c         \t use spatial priors\n\-e         \t output detection maps (in indir/Maps)\n\-f         \t output ASCII minima files to outdir\n\-p         \t output image patches to outdir\n";          /* RENA added -p help description *//* --------- Function Prototypes ---------- */float dffs(float *patch, int N, float **eigvectors, int first, int last);float mahalanobis(float *patch, int N, float **eigvectors, float *eigvalues,		  float lambda_star, int first, int last);float graymap(float *patch, int N);float unitmap(float *patch, int N);void statistics(float *p, int N, float *mean, float *sigma);float umap_musigma_distance(float mean, float sigma, float **umap_musigma);float mahalanobis_distance(float *x, int N, float *Mu, float **inv_Sigma);void minima(float **A, int imin, int imax, int jmin, int jmax,            struct Points *Ps);float norm_corr(float *patch, int N,		float *template, float t_mean, float t_sigma);/* -------- Globals ---------------- */float **template[MAX_NUM_TEMPLATES];float **errormap[MAX_NUM_TEMPLATES];float **variances;float **umap_musigma[MAX_NUM_TEMPLATES];float **spatial_musigma[MAX_NUM_TEMPLATES];/* ------- Command Line Defaults ------------- */int do_dmdumps = 0; /* default is NOT to do errormap dumps  */int do_graymap = 0; /* default is NOT to graymap each patch */int do_unitmap = 0; /* default is NOT to unitmap each patch */int do_mahalanobis = 0; /* default is NOT to do this computation */int do_optimal_rho = 0; /* default is the old Mahalanobis computation */int do_spatial = 0; /* default is NOT to add [x,y] Mahalanobis dist */int do_minima  = 0;  /* default is not to output minima files */int do_correlation = 0; /* default is not to do normalized correlation *//* RENA begin */int do_patch_dump = 0; /* default is not to do patch dumps *//* RENA end */int eig_first = 1;  /* search using first 5 eigenvectors by default */int eig_last  = 5;/*----------------------------------------------------------------------*//* ---------------------------- MAIN ---------------------------------- */main(int argc, char *argv[]){  register int i,j,k,l,ii,jj;  int f,s,c,feature=1,nframe,nfeatures,sets, bytes_pixel;  int nrow, ncol, max_N, xc, yc;  char command[MAX_CHARS],indir[MAX_CHARS],infile[MAX_CHARS];  char listfile[MAX_CHARS], scalefile[MAX_CHARS], line[MAX_CHARS];  char datapath[MAX_CHARS],outdir[MAX_CHARS],filename[MAX_CHARS];  char outfile[MAX_CHARS];  float **image, **image_orig;  float fval1, fval2, fval, mean, sigma;  float maxerror;  FILE *fp, *fp1, *fp2;         /* for output values dump */  int rowl[MAX_NUM_TEMPLATES],rowr[MAX_NUM_TEMPLATES];  int coll[MAX_NUM_TEMPLATES],colr[MAX_NUM_TEMPLATES];  int imin[MAX_NUM_TEMPLATES],imax[MAX_NUM_TEMPLATES];  int jmin[MAX_NUM_TEMPLATES],jmax[MAX_NUM_TEMPLATES];  int N_dim[MAX_NUM_TEMPLATES]; /* the dimensionality of each template */  int M_dim[MAX_NUM_TEMPLATES]; /* the # of eigenvectors for each template */  int numscales;  float scales[MAX_NUM_SCALES];  int rowm[MAX_NUM_SCALES][MAX_NUM_TEMPLATES];  int colm[MAX_NUM_SCALES][MAX_NUM_TEMPLATES];  float error[MAX_NUM_SCALES][MAX_NUM_TEMPLATES];  float **Warp;  float *my_vector;  int xdim, ydim;  int   best_scale[MAX_NUM_TEMPLATES];  float best_error[MAX_NUM_TEMPLATES];  int   best_rowm[MAX_NUM_TEMPLATES];  int   best_colm[MAX_NUM_TEMPLATES];    int **templatesize;  float *patch;  /* RENA begin */  unsigned char **image_patch[MAX_NUM_TEMPLATES];  /* RENA end */  struct Points myPoints_array[MAX_NUM_TEMPLATES];  int N_minima;  float lambda_star[MAX_NUM_TEMPLATES];     /* optimal variance for DFFS */  float template_mean[MAX_NUM_TEMPLATES];   /* statistics for norm_corr */  float template_sigma[MAX_NUM_TEMPLATES];  /* statistics for norm_corr */  /* required input flags */    int errflag   = 0;  int inflag    = 0;  int scaleflag = 0;  int listflag  = 0;    /* command line defaults */  int singlefeature = 0;    int firstframe = 0;  int lastframe  = 0;  strcpy(datapath,".");               /* default datapath directory to cwd   */  /* setup program name and command line strings */    progname = argv[0];  for (i=0; i<argc; i++)    strcat(comline, argv[i]),strcat(comline, " ");  /* set up default outfile name */  sprintf(outfile,"%s.out",progname); /* default output file is progname.out */    /* ----------------------  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 'd':      strcpy(datapath, optarg);      break;    case 's':      strcpy(scalefile, optarg);      scaleflag = 1;      break;    case 'k':      feature = atoi(optarg);      singlefeature = 1;      break;    case 'o':      strcpy(outfile, optarg);      break;    case 'a':      eig_first  = atoi(optarg);      break;    case 'b':      eig_last = atoi(optarg);      break;    case 'g':      do_graymap = 1;      break;    case 'u':      do_unitmap = 1;      break;    case 'e':      do_dmdumps = 1;      break;    case 'f':      do_minima = 1;      break;    case 'm':      do_mahalanobis = 1;      break;     case 'n':      do_optimal_rho = 1;      break;    case 'v':      do_correlation = 1;      break;     case 'c':      do_spatial = 1;      break;    /* RENA begin */    case 'p':      do_patch_dump = 1;      break;    /* RENA end */    case '?':      errflag = 1;      break;          }      /* command line error check */    if (errflag || !inflag || !scaleflag || !listflag) {    fprintf(stderr,"\nUSAGE: %s %s\n%s\n", progname, usage, help);    exit(1);  }  sprintf(outdir,"%s/Maps",indir);   /* default output dir is indir/Maps    */  /* -------- Load eigentemplate data --------------- */  sprintf(filename,"%s/features.bf",datapath);   {     float **m;    max_N = 0;    m = read_BIN(filename, &nfeatures, &ncol);    templatesize = imatrix(1, nfeatures, 1, 2);        for (i=1; i<=nfeatures; i++) {      for (j=1; j<=ncol; j++)	templatesize[i][j] = (int) m[i][j];      N_dim[i] = templatesize[i][1]*templatesize[i][2];      if (N_dim[i]>max_N) 	max_N = N_dim[i];      free_matrix(m, 1, nfeatures, 1, ncol);      /* RENA begin */      if (do_patch_dump) {	image_patch[i] = cmatrix(1, templatesize[i][1], 1, templatesize[i][2]);	/* RENA end */      }    }  }    for (i=1; i<=nfeatures; i++) {    sprintf(filename,"%s/template%d.bf",datapath,i);    template[i] = read_BIN(filename, &nrow, &ncol);    if (do_correlation) {      statistics(template[i][1], ncol, &template_mean[i], &template_sigma[i]);      fprintf(stdout,"Template-%d \t mean = %f \t sigma = %f\n\n",	      i, template_mean[i], template_sigma[i]);    }    M_dim[i] = nrow;    if (ncol!=N_dim[i])      myerror("Template sizes in BF don't match those is definition file");  }  if (do_mahalanobis) {    sprintf(filename,"%s/variances.bf",datapath);    variances = read_BIN(filename, &nrow, &ncol);    if (nrow!=nfeatures) {      fprintf(stderr,	      "ERROR: variances.bf has %d rows! (must have %d)\n\n",	      nrow, nfeatures);      exit(1);    }    if (eig_last>ncol) {      fprintf(stderr,	      "ERROR: variances.bf has %d cols! (must have atleast %d)\n\n",	      ncol, eig_last);      exit(1);    }    /* now estimate lambda_star */        for (i=1; i<=nfeatures; i++) {      if (do_optimal_rho>0) {	/* average eigenvalues in orthogonal subspace */	lambda_star[i] = 0.0;	for (j=eig_last+1; j<=ncol-1; j++)  /* sum to next to last in case <=0 */	  lambda_star[i] += variances[i][j];	lambda_star[i] += ((N_dim[i]-ncol+1) * variances[i][ncol-1]);	lambda_star[i] /= (N_dim[i] - eig_last);      }      else {	lambda_star[i] = variances[i][eig_last+1];      }    }  }    if (do_unitmap) {    float **C, **invC;    int m, n;    C = matrix(1,2,1,2);    invC = matrix(1,2,1,2);    for (k=1; k<=nfeatures; k++) {      sprintf(filename,"%s/umap_musigma%d.bf",datapath,k);      umap_musigma[k] = read_BIN(filename, &m, &n );           /* invert the covariance matrix portion of umap_musigma[k] */      for (i=1; i<=2; i++)	for (j=1; j<=2; j++)	  C[i][j] = umap_musigma[k][i+1][j];      matrix_inverse(C, 2, invC);      for (i=1; i<=2; i++)	for (j=1; j<=2; j++)	  umap_musigma[k][i+1][j] = invC[i][j];      /* ----------- DEBUG -----------      for (i=1; i<=3; i++) {	for (j=1; j<=2; j++)	  printf("%f ",umap_musigma[k][i][j]);	printf("\n");      }      printf("\n\n");      C[1][1] = 10;      C[1][2] = 10;      printf("dist = %f \n", 	     mahalanobis_distance(C[1], 2, umap_musigma[k][1], &umap_musigma[k][1]));      printf("dist = %f \n",		    umap_musigma_distance(10, 10, umap_musigma[k]));      exit(1);      --------------- DEBUG ------------- */    }      free_matrix(C,1,2,1,2);    free_matrix(invC,1,2,1,2);  }     if (do_spatial) {    float **C, **invC;    int m, n;    C = matrix(1,2,1,2);    invC = matrix(1,2,1,2);    for (k=1; k<=nfeatures; k++) {      sprintf(filename,"%s/spatial_musigma%d.bf",datapath,k);      spatial_musigma[k] = read_BIN(filename, &m, &n );           /* invert the covariance matrix portion of umap_musigma[k] */      for (i=1; i<=2; i++)	for (j=1; j<=2; j++)	  C[i][j] = spatial_musigma[k][i+1][j];      matrix_inverse(C, 2, invC);      for (i=1; i<=2; i++)	for (j=1; j<=2; j++)	  spatial_musigma[k][i+1][j] = invC[i][j];      /* ----------- DEBUG -----------      for (i=1; i<=3; i++) {	for (j=1; j<=2; j++)	  printf("%f ",spatial_musigma[k][i][j]);	printf("\n");      }      printf("\n\n");      C[1][1] = 10;      C[1][2] = 10;      printf("dist = %f \n", 	     mahalanobis_distance(C[1], 2, spatial_musigma[k][1], &spatial_musigma[k][1]));      printf("dist = %f \n",		    spatial_musigma_distance(10, 10, spatial_musigma[k]));      exit(1);      --------------- DEBUG ------------- */    }      free_matrix(C,1,2,1,2);    free_matrix(invC,1,2,1,2);  }  /* ---- determine left/right boundaries for errormaps ----- */  for (i=1; i<=nfeatures; i++) {    rowl[i] = (int) templatesize[i][1]/2.0;    rowr[i] = templatesize[i][1] - rowl[i] - 1;    coll[i] = (int) templatesize[i][2]/2.0;    colr[i] = templatesize[i][2] - coll[i] - 1;  }  patch = vector(1, max_N);  my_vector = vector(1, MAX_VECTOR_LENGTH);  /* ----  read indir descriptor -------- */    read_descriptor(indir, &nframe, &sets, &bytes_pixel, &ncol, &nrow);  if (sets>1)     myerror("Input files must be single-set DAT files!");  image = matrix(1, nrow, 1, ncol);  image_orig = matrix(1, nrow, 1, ncol);  /* --- allocate errormap tensor and set window boundaries --- */  for (k=feature; k<=(singlefeature>0 ? feature:nfeatures); k++) {    errormap[k] = matrix(1, nrow, 1, ncol);    imin[k] = rowl[k] + 1;    imax[k] = nrow - rowr[k];    jmin[k] = coll[k] + 1;    jmax[k] = ncol - colr[k];  }    if (do_minima) {    int i1 = imin[feature], i2 = imax[feature];    int j1 = jmin[feature], j2 = jmax[feature];    int numpixels = (i2-i1)*(j2-j1), n;        for (k=feature; k<=(singlefeature>0 ? feature:nfeatures); k++) {      n = (imax[k]-imin[k])*(jmax[k]-jmin[k]);      if (n>numpixels) {	numpixels = n;	i1 = imin[k];	i2 = imax[k];	j1 = jmin[k];	j2 = jmax[k];      }    }    N_minima = (i2-i1)*(j2-j1) / 9;    for (k=feature; k<=(singlefeature>0 ? feature:nfeatures); k++) {      myPoints_array[k].n = N_minima;      myPoints_array[k].x = ivector(1, N_minima);      myPoints_array[k].y = ivector(1, N_minima);      myPoints_array[k].f =  vector(1, N_minima);    }  }  /* -------- Load scalefile -------------- */  sprintf(filename,"%s",scalefile);  if ((fp = fopen(filename, "r")) == NULL) {    fprintf(stderr,"ERROR Could not open scale file %s \n\n", filename);    exit(1);  }  i = 1;  while (fgets(line, MAX_CHARS, fp)) {    if (strncmp(line, "#", 1) != 0 && strlen(line)>1) {      sscanf(line, "%f", scales+i);      i++;    }  }  numscales = i-1;  fclose(fp);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久亚洲综合色| 国产91高潮流白浆在线麻豆| 精品捆绑美女sm三区| 色欧美片视频在线观看在线视频| 国产精品麻豆视频| 国产亚洲欧洲997久久综合| 日韩福利视频导航| 综合久久国产九一剧情麻豆| 欧美午夜精品久久久| 国产色91在线| 国产精品国产三级国产普通话蜜臀| 久久久久久日产精品| 欧美电视剧免费全集观看| 色综合久久久久久久久久久| 成人成人成人在线视频| 波多野结衣91| 色乱码一区二区三区88| 7777精品伊人久久久大香线蕉 | 中文字幕高清不卡| 色婷婷国产精品综合在线观看| 99精品热视频| 成人午夜碰碰视频| 日本精品一级二级| 欧美一级xxx| 国产精品久久久久久久久快鸭 | 国产精品99久久不卡二区| 久久久亚洲欧洲日产国码αv| 国产精品理论片| 日韩国产欧美一区二区三区| 国内精品第一页| 欧美性色aⅴ视频一区日韩精品| 中文字幕一区二区三区不卡| 丝袜国产日韩另类美女| 国产精品一区二区你懂的| 人人爽香蕉精品| 91免费版在线| 亚洲国产精品一区二区久久| 国产精品888| 精品国产乱码久久久久久夜甘婷婷| 国产欧美日韩在线| 国产精品白丝jk黑袜喷水| 91视视频在线观看入口直接观看www| 精品sm捆绑视频| 久热成人在线视频| 777a∨成人精品桃花网| 天堂精品中文字幕在线| 在线免费不卡电影| 一区二区三区四区av| 91女神在线视频| 久久久久国产成人精品亚洲午夜| 99久久久无码国产精品| 日本视频在线一区| 亚洲精品视频在线看| 精品女同一区二区| 在线观看日韩一区| 福利一区二区在线观看| 蜜臀精品一区二区三区在线观看| 中文字幕av不卡| 久久久久久久久久久黄色| 欧美日韩视频在线第一区 | 另类专区欧美蜜桃臀第一页| 怡红院av一区二区三区| 久久久久久久久久看片| 在线精品亚洲一区二区不卡| 国产精品资源网站| 国产精品性做久久久久久| 国产精品1区2区3区| 久久se精品一区精品二区| 午夜私人影院久久久久| 日本不卡一区二区三区高清视频| 亚洲成人7777| 麻豆国产精品官网| 久久成人免费网站| 国产成人综合在线播放| 粉嫩av一区二区三区粉嫩 | 精品福利二区三区| 精品少妇一区二区三区在线播放| 日韩欧美色电影| 国产精品日韩成人| 亚洲三级电影全部在线观看高清| 亚洲免费电影在线| 日韩精品电影在线| 国产一区二区三区四区五区美女| 黄页视频在线91| 欧美影院一区二区三区| 欧美久久一二区| 国产精品久久久久久久久图文区| 亚洲三级久久久| 免费高清在线一区| 色婷婷av一区二区三区软件| 日韩亚洲欧美在线观看| 久久久久九九视频| 视频在线观看国产精品| 国产sm精品调教视频网站| 欧美日韩二区三区| 国产精品视频一二| 久久成人av少妇免费| 粉嫩嫩av羞羞动漫久久久| 91精品国产综合久久久蜜臀粉嫩| 久久精品视频在线看| 日韩成人一级大片| 欧美影院精品一区| 亚洲四区在线观看| 国产91精品精华液一区二区三区| 日韩一区二区免费视频| 肉丝袜脚交视频一区二区| 9色porny自拍视频一区二区| 久久久久久综合| 国产一区二区三区精品视频| 欧美精品在线视频| 精品中文字幕一区二区小辣椒| 日本电影欧美片| 夜夜嗨av一区二区三区网页| 成人h动漫精品| 亚洲免费av高清| 91麻豆成人久久精品二区三区| 久久天天做天天爱综合色| 丰满放荡岳乱妇91ww| 亚洲欧洲日产国码二区| 在线亚洲+欧美+日本专区| 亚洲视频精选在线| 欧美揉bbbbb揉bbbbb| 一区二区三区电影在线播| 在线不卡中文字幕| 成人午夜激情影院| 午夜激情久久久| 亚洲天堂精品视频| 亚洲国产精品精华液ab| 欧美日韩一区在线观看| 国产a精品视频| 秋霞av亚洲一区二区三| 亚洲日本乱码在线观看| 26uuu国产在线精品一区二区| 91视频观看视频| av激情亚洲男人天堂| 亚洲福利视频一区二区| 亚洲免费视频成人| 欧美韩国一区二区| 3d成人h动漫网站入口| 91看片淫黄大片一级| 国产.精品.日韩.另类.中文.在线.播放 | 91精品国模一区二区三区| 99久久精品国产观看| 丁香婷婷综合激情五月色| 国产在线精品一区二区| 亚洲超碰97人人做人人爱| 亚洲国产综合在线| 日本va欧美va精品| 国产91精品久久久久久久网曝门| 激情久久五月天| 国产一区二区剧情av在线| 国产成人在线视频网址| 国产一区二区网址| 波多野结衣中文一区| 99久久国产免费看| 精品视频在线视频| 精品国产一区二区精华| 国产日韩欧美电影| 亚洲国产婷婷综合在线精品| 午夜视频一区二区| 国产一区二区三区观看| 99在线视频精品| 欧美日韩亚洲另类| 久久久九九九九| 五月天一区二区三区| 国产美女一区二区| 欧美日韩美少妇| 久久精品亚洲精品国产欧美kt∨| 久久精品免费在线观看| 亚洲一区二区视频在线观看| 一区二区三国产精华液| 亚洲综合在线电影| 精品中文av资源站在线观看| 国产一区二区不卡| 欧美精选一区二区| 国产精品国产三级国产aⅴ无密码| 国产精品欧美一区二区三区| 亚洲福中文字幕伊人影院| 国产成人一区二区精品非洲| 欧美日韩国产精选| 亚洲欧美在线另类| 成人午夜免费电影| 久久人人超碰精品| 久久99这里只有精品| 欧美日韩在线播放一区| 伊人色综合久久天天| 菠萝蜜视频在线观看一区| 亚洲欧美在线aaa| 激情图区综合网| 久久人人超碰精品| 成人性生交大合| 国产精品护士白丝一区av| 成人激情免费网站| 一区二区久久久| 4hu四虎永久在线影院成人| 美女一区二区三区在线观看| 欧美α欧美αv大片| 丰满白嫩尤物一区二区| 日韩—二三区免费观看av| 久久嫩草精品久久久久|