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

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

?? ms_eigsearch.c

?? feret人臉圖象數(shù)據(jù)庫處理代碼
?? C
?? 第 1 頁 / 共 2 頁
字號(hào):
  /* ------- echo command line  -------- */  fprintf(stdout,"%s\n\n",comline);  fprintf(fp2,"# %s\n\n",comline);   /* ------------------------------------------------------ */  /* -------------- MAIN Sequence Loop -------------------- */  /* ------------------------------------------------------ */      if ((fp = 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, fp)) {    if (strncmp(line, "#", 1) != 0 && strlen(line)>1) {      nframe++;            /* ---- read current frame ----- */      sscanf(line, "%s", infile);      sprintf(filename,"%s/%s", indir, infile);      if (bytes_pixel == 4)	read_RAW_float(filename, image_orig, nrow, ncol);      else	read_RAW(filename, image_orig, nrow, ncol);                  for (s=1; s<=numscales; s++) {		/* ------- initialize error map ----- */	for (k=feature; k<=(singlefeature>0 ? feature:nfeatures); k++)	  for (i=1; i<=nrow; i++)	    for (j=1; j<=ncol; j++)	      errormap[k][i][j] = 0.0;		/* ------ apply scaling to image_orig ------ */	for (i=1; i<=3; i++)	  for (j=1; j<=3; j++)	    Warp[i][j] = 0.0;	Warp[1][1] = Warp[2][2] = scales[s];	Warp[3][3] = 1.0;	affine_warp(image_orig, image, nrow, ncol, Warp, 0.0);	xdim = (int) (scales[s]*nrow + 0.5);	ydim = (int) (scales[s]*ncol + 0.5);			/* ----------------- Process current frame/scale --------------- */		for (k=feature; k<=(singlefeature>0 ? feature:nfeatures); k++) {	  	  imax[k] = xdim - rowr[k];	  jmax[k] = ydim - colr[k];	  	  fval = FLT_MAX;	  for (i=imin[k]; i<=imax[k]; i++)	    for (j=jmin[k]; j<=jmax[k]; j++) {	      	      c = 0;	      for (jj=j-coll[k]; jj<=j+colr[k]; jj++)		for (ii=i-rowl[k]; ii<=i+rowr[k]; ii++) 		  patch[++c] = image[ii][jj];	      	      fval2 = 0;	      if (do_unitmap) {		statistics(patch, N_dim[k], &mean, &sigma);		fval2 = umap_musigma_distance(mean, sigma, umap_musigma[k]); 	      }	      if (do_mahalanobis) {		fval1 = mahalanobis(patch, N_dim[k], template[k], 				    variances[k], eig_first, eig_last);	      }	      else		fval1 = dffs(patch,N_dim[k],template[k],eig_first,eig_last);	      if (do_unitmap) 		fval1 += fval2;	      	      if (do_spatial) {		my_vector[1] = (int) (i/scales[s]+0.5);		my_vector[2] = (int) (j/scales[s]+0.5);		fval1 +=		  mahalanobis_distance(my_vector, 2,				       spatial_musigma[k][1],				       &spatial_musigma[k][1]);	      }	      	      errormap[k][i][j] = fval1;	      if (fval1<fval) {		fval = fval1;		rowm[s][k] = (int) (i/scales[s]+0.5);		colm[s][k] = (int) (j/scales[s]+0.5);		error[s][k] = fval;	      }	      	    }	  	  { /* ----- best minimum block ------- */	    float n1,n2,n3,n4,n5,n6,n7,n8,n9;	    fval = FLT_MAX;	    for (i=imin[k]+1; i<=imax[k]-1; i++) {	      for (j=jmin[k]+1; j<=jmax[k]-1; j++) {		fval1 = errormap[k][i][j];		if (fval1<fval) {		  n1 = errormap[k][i-1][j-1];		  n2 = errormap[k][i-1][j];		  n3 = errormap[k][i-1][j+1];		  n4 = errormap[k][i][j-1];		  n5 = errormap[k][i][j];		  n6 = errormap[k][i][j+1];		  n7 = errormap[k][i+1][j-1];		  n8 = errormap[k][i+1][j];		  n9 = errormap[k][i+1][j+1];		  if (n5<n1 & n5<n2 & n5<n3 & n5<n4 & 		      n5<n6 & n5<n7 & n5<n8 & n5<n9) {		    rowm[s][k] = (int) (i/scales[s]+0.5);		    colm[s][k] = (int) (j/scales[s]+0.5);		    error[s][k] = fval1;		    fval = fval1;		  }		}	      }	    }	  } /* ---- end of best minimum block ---- */	  fprintf(stdout,"%s\t %1.3f \t %1d \t %3d %3d \t %1.6e \n",		  infile, scales[s], k, 		  rowm[s][k], colm[s][k], error[s][k]);	  	  if (do_dmdumps) {	    sprintf(filename,"%s/%s_s%dt%d.bf", outdir, infile, s, k);	    write_BIN(filename, errormap[k], xdim, ydim);	  }	  	} /* end of feature sequence loop */      	      }  /* end of scale sequence loop */            for (k=feature; k<=(singlefeature>0 ? feature:nfeatures); k++) { 	best_error[k] = FLT_MAX;	for (s=1; s<=numscales; s++) 	  if (error[s][k]<best_error[k]) {	    best_error[k] = error[s][k];	    best_scale[k] = s;	    best_rowm[k] = rowm[s][k];	    best_colm[k] = colm[s][k];	  }	fprintf(fp2,"%s \t %1.3f  %1d   %3d %3d   %1.6e \n",		infile, scales[best_scale[k]], k, best_rowm[k], 		best_colm[k], best_error[k]);	fflush(fp2);      }        } /* end of valid listfile line if clause */  } /* end of frame sequence loop */        /* --- free up allocated matrices ----- */  if (do_unitmap) {    for (k=1; k<=nfeatures; k++)      free_matrix(umap_musigma[k], 1, 3, 1, 2);  }  free_vector(my_vector, 1, MAX_VECTOR_LENGTH);  free_vector(patch, 1, max_N);  free_imatrix(templatesize, 1, nfeatures, 1, 2);  free_matrix(image, 1, nrow, 1, ncol);  free_matrix(image_orig, 1, nrow, 1, ncol);  free_matrix(Warp, 1, 3, 1, 3);   fclose(fp);  fclose(fp2);     return 0;}/*------------------------------------------------------------------- *//* -------------------- end of main() ------------------------------- *//*------------------------------------------------------------------- */float dffs(float *patch, int N, float **eigvectors, int first, int last){  register int i,j,k;  float error,sum,mean,var=1.0,std,E,Ec,Em;  int M = 1;    static float C[MAX_NUM_EIGENVECTORS];  if (first>0)    M = last - first + 1;    /* compute the first 2 moments of image patch */   if (DO_VAR) {    statistics(patch, N, &mean, &var);    var = SQR(var);  }  /* graymap/unitmap the patch */  if (do_graymap)      graymap(patch, N);  else if (do_unitmap)    unitmap(patch, N);  /* subtract the mean from the patch (note mean is first row)     and compute the Energy of the patch                       */  E = 0.0;  for (i=1; i<=N; i++) {    patch[i] -= eigvectors[1][i];    E += SQR(patch[i]);  }  /* project onto the appropriate eigenvectors */    Ec = Em = 0.0;   /* if first=0 then this is just mean-template SSD */  if (first>0) {       for (k = first+1; k<=last+1; k++) {      sum = 0.0;      for (i=1; i<=N; i++)	sum += patch[i] * eigvectors[k][i];      C[k] = sum;      Ec += SQR(C[k]);    }  }  error = (E - Ec);  if (DO_VAR)    if (var<VAR_THRESHOLD)      error = VAR_MAXVALUE;  return error;}/* ---------------------------------------------------------------------- */float mahalanobis(float *patch, int N, float **eigvectors, float *eigvalues,		  int first, int last){  register int i,j,k;  float error,sum,mean,var=1.0,sigma,E,Ec,Em,val;  int M = 1;    static float C[MAX_NUM_EIGENVECTORS];  if (first>0)    M = last - first + 1;    /* compute the first 2 moments of image patch */    if (DO_VAR) {    statistics(patch, N, &mean, &sigma);    var = SQR(sigma);  }  /* graymap/unitmap the patch */  if (do_graymap)      graymap(patch, N);  else if (do_unitmap)    unitmap(patch, N);  /* subtract the mean from the patch (note mean is first row)     and compute the Energy of the patch                       */  E = 0.0;  for (i=1; i<=N; i++) {    patch[i] -= eigvectors[1][i];    E += SQR(patch[i]);  }  /* project onto the appropriate eigenvectors */    Ec = Em = 0.0;   /* if first=0 then this is just mean-template SSD */  if (first>0) {       for (k = first+1; k<=last+1; k++) {      sum = 0.0;      for (i=1; i<=N; i++)	sum += patch[i] * eigvectors[k][i];      C[k] = sum;      val = SQR(C[k]);      Ec += val;      Em += val/eigvalues[k-1];   /* FIX: used to be [k] */    }  }  if (DO_VAR)    if (var<VAR_THRESHOLD)      error = VAR_MAXVALUE;  error = Em + (E - Ec)/eigvalues[last+1];  /* FIX: used to be [last+2] */  return error;}/*---------------------------------------------------------------------- */float graymap(float *p, int N)/* Maps the N-dimensional float vector p from its min/max to 0/255 */{  register int i;  float vmin,vmax,range,scale;  vmin = FLT_MAX;  vmax = -vmin;  for (i=1; i<=N; i++) {    if (p[i]<vmin)      vmin = p[i];    if (p[i]>vmax)      vmax = p[i];  }  range = vmax-vmin;  if (range==0.0)         /* if no variation don't modify array */    return 0;  scale = 255.0/range;  for (i=1; i<=N; i++)    p[i] = (int) (0.5 + scale*(p[i]-vmin));  return range;}/*---------------------------------------------------------------------- */float unitmap(float *p, int N)/* Maps the N-dimensional float vector p to zero-mean/unit-std dev. *//* It returns the standard deviation (or zero if sigma<FLT_MIN).    */{  register int i;  float mean = 0, sigma = 0;  statistics(p, N, &mean, &sigma);  if (sigma>FLT_MIN) {    for (i=1; i<=N; i++)      p[i] = (p[i]-mean)/sigma;    return sigma;  }  else {    for (i=1; i<=N; i++)      p[i] -= mean;    return 0;  }}/* ---------------------------------------------------------------------- */void statistics(float *p, int N, float *mean, float *sigma)/* computes the mean and standard deviation of the vector p */{  register int i;  float val, mymean = 0, mysigma = 0;   for (i=1; i<=N; i++)    mymean += p[i];  mymean /= N;  for (i=1; i<=N; i++) {    val = p[i] - mymean;    mysigma += val*val;  }  mysigma = sqrt(mysigma/(N-1));  *mean = mymean;  *sigma = mysigma;}/* ---------------------------------------------------------------------- */float umap_musigma_distance(float mean, float sigma, float **umap_musigma)/* This function takes the mean and sigma of the patch and returns   the Mahalanobis distance according to the 2nd-order statistics   in the matrix umap_musigma (whose first row is the mean, and 2nd-3rd   the INVERSE covariance*/{  register int i,j;  float sum=0, distance=0;  float x[3],y[3];  x[1] = mean  - umap_musigma[1][1];  x[2] = sigma - umap_musigma[1][2];  for (i=1; i<=2; i++) {    sum = 0;    for (j=1; j<=2; j++)      sum += umap_musigma[i+1][j]*x[j];    y[i] = sum;  }  distance = 0;  for (i=1; i<=2; i++)    distance += x[i]*y[i];  return distance;}/* ---------------------------------------------------------------------- */float mahalanobis_distance(float *x, int N, float *Mu, float **inv_Sigma)/*  This function returns the Mahalanobis distance for a feature vector*/{  register int i,j;  float sum=0, distance=0;  float x_n[MAX_VECTOR_LENGTH];  for (i=1; i<=N; i++)    x_n[i] = x[i] - Mu[i];  for (i=1; i<=N; i++) {    sum = 0;    for (j=1; j<=N; j++)      sum += inv_Sigma[i][j]*x_n[j];    distance += x_n[i]*sum;  }  return distance;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲va欧美va国产va天堂影院| 亚洲一区在线播放| 亚洲人成影院在线观看| 夜夜嗨av一区二区三区四季av| 麻豆精品视频在线观看| 99精品欧美一区二区蜜桃免费| 欧美色成人综合| 成人欧美一区二区三区| 国内外成人在线| 欧美男人的天堂一二区| 中文字幕一区二区视频| 精品影院一区二区久久久| 欧美三级三级三级| 国产精品久久久久天堂| 国产麻豆日韩欧美久久| 日韩欧美www| 日日夜夜精品视频天天综合网| 欧美人狂配大交3d怪物一区| 91视视频在线观看入口直接观看www| 欧美一区二区三区在线观看 | 石原莉奈在线亚洲二区| 99久久精品国产一区二区三区 | 性感美女久久精品| 成人97人人超碰人人99| 亚洲欧洲国产专区| 激情综合色播激情啊| 欧美一区二视频| 五月婷婷久久综合| 欧美天天综合网| 亚洲一区在线观看视频| 日本电影亚洲天堂一区| 国产精品久久综合| eeuss鲁片一区二区三区| 国产婷婷一区二区| 国产乱码精品一区二区三区五月婷 | 亚洲国产成人91porn| 91老司机福利 在线| 国产精品成人午夜| 99re热这里只有精品视频| 国产精品激情偷乱一区二区∴| 成人精品高清在线| 中文字幕在线一区免费| 91热门视频在线观看| 亚洲男人的天堂一区二区| 色呦呦日韩精品| 亚洲色图欧洲色图婷婷| 91久久精品一区二区三区| 亚洲综合色成人| 91麻豆精品91久久久久久清纯| 日韩精品欧美精品| 精品国产91亚洲一区二区三区婷婷| 精彩视频一区二区三区| 国产欧美一区二区精品性色| 99精品在线观看视频| 亚洲一区成人在线| 欧美绝品在线观看成人午夜影视| 奇米综合一区二区三区精品视频| 欧美精品一区二区三区蜜桃| av不卡免费电影| 亚洲观看高清完整版在线观看| 制服丝袜中文字幕亚洲| 韩国三级在线一区| 欧美激情在线一区二区三区| 不卡一区二区中文字幕| 一区二区三区中文字幕| 在线不卡a资源高清| 美女视频网站黄色亚洲| 中文字幕国产一区二区| 欧美午夜精品理论片a级按摩| 日产精品久久久久久久性色| 精品va天堂亚洲国产| 91啪九色porn原创视频在线观看| 日本亚洲最大的色成网站www| 久久久国产综合精品女国产盗摄| 91成人在线观看喷潮| 日本va欧美va欧美va精品| 国产精品久久久久久福利一牛影视 | 欧美日韩精品一区二区| 国产综合一区二区| 性欧美疯狂xxxxbbbb| 国产欧美日韩一区二区三区在线观看 | 国产精品久久三| 日韩一级二级三级| 91污在线观看| 国产一区二区在线影院| 亚洲一区二区在线播放相泽| 久久女同性恋中文字幕| 欧美日韩1区2区| 91在线精品一区二区三区| 久久精品国产在热久久| 一区二区欧美在线观看| 国产欧美视频一区二区三区| 日韩欧美的一区| 欧美日韩国产a| 一本一道久久a久久精品综合蜜臀| 久草这里只有精品视频| 三级在线观看一区二区| 亚洲制服丝袜在线| 亚洲日本韩国一区| 国产精品久久三区| 国产日韩精品一区二区浪潮av | 久久久91精品国产一区二区精品| 精品视频免费看| 色狠狠一区二区三区香蕉| 成人激情av网| 国产成都精品91一区二区三| 国产一区二区三区在线看麻豆| 日本大胆欧美人术艺术动态 | 免费精品99久久国产综合精品| 亚洲一区视频在线| 亚洲精品久久7777| 一区二区三区四区激情| 日韩美女精品在线| 中文字幕亚洲一区二区av在线 | 日韩三级在线观看| 欧美日韩二区三区| 欧美丰满嫩嫩电影| 日韩欧美国产综合在线一区二区三区| 欧美日韩一区二区三区免费看| 色综合激情五月| 欧美亚洲综合另类| 欧美电影在线免费观看| 6080日韩午夜伦伦午夜伦| 3751色影院一区二区三区| 欧美另类z0zxhd电影| 5566中文字幕一区二区电影| 日韩视频中午一区| 久久久久久久久久久久久女国产乱 | 精品视频123区在线观看| 欧美日韩一区二区三区免费看 | 波多野结衣在线aⅴ中文字幕不卡| 成人免费视频一区二区| av日韩在线网站| 欧美中文一区二区三区| 91精品国产一区二区三区蜜臀| 日韩一卡二卡三卡四卡| 国产日韩在线不卡| 亚洲人成在线观看一区二区| 亚洲国产精品一区二区www| 日本欧美一区二区三区乱码| 国产精品99久久久| 色综合久久中文综合久久牛| 欧美麻豆精品久久久久久| 精品国产91洋老外米糕| 亚洲欧美另类图片小说| 日韩av电影免费观看高清完整版 | 成人h动漫精品一区二区| 色综合一区二区三区| 欧美肥胖老妇做爰| 久久久精品2019中文字幕之3| 亚洲男人电影天堂| 久久电影国产免费久久电影| 不卡的电影网站| 91精品国产福利在线观看| 国产精品午夜在线| 日韩精品午夜视频| av电影在线观看不卡 | 91免费国产在线| 欧美日韩在线观看一区二区| 久久久噜噜噜久噜久久综合| 亚洲另类一区二区| 奇米影视一区二区三区| a美女胸又www黄视频久久| 欧美精品自拍偷拍| 久久久国产精品不卡| 天天综合天天做天天综合| 99久久国产综合精品色伊| 日韩欧美一级精品久久| 一区二区三区欧美视频| 国产精品综合视频| 日韩一区二区电影网| 亚洲尤物在线视频观看| 波多野结衣在线一区| 久久综合色综合88| 免费美女久久99| 欧美日韩不卡一区二区| 亚洲精品高清视频在线观看| 岛国精品在线播放| 欧美tickling网站挠脚心| 亚洲mv在线观看| 色婷婷亚洲一区二区三区| 中文字幕乱码日本亚洲一区二区| 久久精品国产久精国产| 精品视频一区二区不卡| 亚洲激情六月丁香| 99精品视频在线观看| 国产欧美日韩三区| 国产专区欧美精品| 日韩精品一区在线观看| 天天综合色天天综合| 欧美日韩免费不卡视频一区二区三区| 亚洲视频在线一区二区| 不卡的电视剧免费网站有什么| 国产亚洲精品aa午夜观看| 国产伦精品一区二区三区免费迷| 亚洲精品一区二区三区99| 美国毛片一区二区三区| 日韩一卡二卡三卡国产欧美| 日本va欧美va欧美va精品| 日韩亚洲欧美中文三级|