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

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

?? amss.c

?? image processing including fourier,wavelet,segmentation etc.
?? C
字號(hào):
/*--------------------------------------------------------------------------*//* mwcommandname = {amss};version = {"1.5"};author = {"Jacques Froment, Frederic Guichard, Lionel Moisan"};function = { "Affine Morphological Scale Space (or Mean Curvature Motion) - by anisotropic diffusion"};usage = {'i'->isotrop           "flag to cancel isotropic diffusion in smooth area",'p'->power             "flag to compute AMSS model (power 1/3) instead of MCM (power 1)",'S':[Step=0.1]->Step [0.0,0.5]      "scale step for each iteration (default 0.1)",'m':[MinGrad=0.5]->MinGrad [0.0,1e6]      "Minimum of the gradient norm to compute the curvature (default 0.5)",'s':[outputStep=0.1]->outputStep [0.0, 10.0]      "scale interval between two images (for movie outputs) (default 0.1)",'f':[firstScale=0.0]->firstScale      "first scale of diffusion (default 0.0)",'l':[lastScale=2.0]->lastScale        "last scale of diffusion (default 2.0)",'n'->no_norm     "flag to prevent curvature normalization",'d':cimageD<-imageD  "output fimage of the last diffusion",'g':cimageG<-imageG  "output fimage of the last gradient",'c':cimageC<-imageC  "output fimage of the last curvature",'D':cmovieD<-cmovieD "output cmovie of successive diffusions",'G':cmovieG<-cmovieG "output cmovie of successive gradients",'C':cmovieC<-cmovieC "output cmovie of successive curvatures",image->image   "original picture (input fimage)"};*//*---------------------------------------------------------------------- v1.5: changes by L.Moisan      - own gradient/curvature computation as in fderiv      - allows non-coupled outputs (e.g. gradient OR curvature)      - no_norm flag to cancel curvature normalization----------------------------------------------------------------------*//* NB: input image is destroyed */#include <stdio.h>#include <math.h>#include "mw.h"#define IRAC8    0.35355339  /* 1/sqrt(1/8)   */#define IRAC2P2  0.29289322  /* 1/(sqrt(2)+2) */#define IRAC2    0.70710678  /* 1/sqrt(2) */#define RAC8P4   6.8284271   /* sqrt(8)+4 *//*------------------------- one step of evolution ----------------------*//*                                                                      *//*     gradient, curvature and laplacian are computed as in fderiv()    *//*         but it is faster to compute the evolution locally            *//*   especially if the gradient norm is not needed (no sqrt to compute) *//*----------------------------------------------------------------------*/void one_step(in,out,grad,curv,step,MinGrad,isotrop,power,no_norm)Fimage in,out,grad,curv;float step,MinGrad;char *isotrop,*power,*no_norm;{  int y,nx,ny;  register int x,xm,x1,Ym,Y0,Y1;  float c1,d1,GK,MinGrad2;  register float l0,ax,ay,axy,an2;  register float a11,amm,am1,a1m,a00,a01,a10,a0m,am0;  MinGrad2 = MinGrad/IRAC2P2;  MinGrad2 *= MinGrad2;  nx = in->ncol;  ny = in->nrow;  for(y=0;y<ny;y++) {        Y0 = y*nx;    /* symmetry for borders */    Y1 = (y<ny-1?y+1:y-1)*nx;    Ym = (y>0?y-1:y+1)*nx;    for(x=0;x<nx;x++) {      /* symmetry for borders */      x1 = (x<nx-1?x+1:x-1);      xm = (x>0?x-1:x+1);      a11 = in->gray[x1+Y1];      a10 = in->gray[x1+Y0];      a1m = in->gray[x1+Ym];      a01 = in->gray[x +Y1];      a00 = in->gray[x +Y0];      a0m = in->gray[x +Ym];      am1 = in->gray[xm+Y1];      am0 = in->gray[xm+Y0];      amm = in->gray[xm+Ym];          /* compute gradient (8-neighbors) */      c1 = a11-amm;       d1 = am1-a1m;      ax = a10-am0+IRAC8*(c1-d1);  /* we don't normalize to save time */      ay = a01-a0m+IRAC8*(c1+d1);      axy = ax*ay;      ax *= ax;      ay *= ay;      an2 = ax+ay; /* now, we have an2*(IRAC2P2)^2 = |Du|^2 */      if (grad) grad->gray[x+Y0] = IRAC2P2*(float)sqrt((double)an2);      if (an2 > MinGrad2) { 	           /*----- NON-ZERO GRADIENT -----*/		/* compute |Du|*curvature, ie GK = D2u ( Du+ , Du+ ) / |Du|^2 */	ax /= an2; ay /= an2; axy /= an2;	l0 = 0.5 - axy*axy;		GK =     a00    * ( -4.0*l0 )	    + (am0+a10) * ( 2.0*l0 -      ax              ) 	    + (a0m+a01) * ( 2.0*l0 -           ay         ) 	    + (a11+amm) * ( -l0 + 0.5 * ( ax + ay - axy ) )	    + (am1+a1m) * ( -l0 + 0.5 * ( ax + ay + axy ) );	if (curv) 	  if (grad) curv->gray[x+Y0] = GK/grad->gray[x+Y0];	    else curv->gray[x+Y0] = GK/(IRAC2P2*(float)sqrt((double)an2));	if (power) {	  /* AMSS diffusion */	  GK *= an2*IRAC2P2*IRAC2P2;	  if (GK>=0.0) 	    /* here we use the fact that |Du|K^(1/3) = (|Du|^2*GK)^(1/3) */	    out->gray[x+Y0] = a00 + step * (float)cbrt((double)(GK));	  else 	    out->gray[x+Y0] = a00 - step * (float)cbrt((double)(-GK));	} else 	  /* MCM diffusion */	  out->gray[x+Y0] = a00 + step * GK;      } else {                   /*----- ZERO GRADIENT -----*/	if (curv) curv->gray[x+Y0] = 0.0;		if (!isotrop) {		  /* isotropic diffusion */	  out->gray[x+Y0] = a00 + step *	    /* Laplacian */	    ( IRAC2*(amm+am1+a1m+a11)+(a0m+am0+a10+a01)-RAC8P4*a00 ) / RAC8P4;	  	} else 	  /* no diffusion */	  out->gray[x+Y0] = a00;       }      /* RENORMALIZATION of curvature */      if (!no_norm && curv) curv->gray[x+Y0] = curv->gray[x+Y0]*100.0+128.0;    }  }}/* ------------------------------------------------------------------------*//* -------- This function returns the number of iterations         --------*//* -------- in order to go at scale = lastScale, with step = Step  --------*//* -------- from scale = firstScale.                               --------*//* ------------------------------------------------------------------------*/float  number_iterations(power,lastScale,firstScale,Step)char *power;float  lastScale,Step,firstScale;{  double cfs; if (!power) {  	/* ------- case : Power = 1 -------- */   	return(0.5*(lastScale*lastScale-firstScale*firstScale)/Step);  }  else {  	/* ------- case : Power = 1/3 ------ */    if (firstScale > 0.0) cfs =  exp(4.0*log( (double) firstScale)/3.0);    else cfs = 0.0;    return(0.75*(exp(4.0*log( (double) lastScale)/3.0) - cfs )/Step);  }}/*----------------- Insert of an image into the output movie ----------------*/FINAL(pict,sortie)Fimage pict;Cmovie sortie;{	  register int i;  Cimage image1,image2;  int dx,dy,taille;  register unsigned char *a;  register float *b;    image1=NULL;  dx = pict->ncol;  dy = pict->nrow;  image1 = mw_change_cimage(image1,dy,dx);  if (sortie -> first == NULL) {    sortie -> first = image1;  }  else {    image2 =  sortie -> first;    while (image2 -> next != NULL) { image2 = image2 -> next; }    image2 -> next = image1;    image1 -> previous = image2;  }  a = image1 -> gray;  b = pict -> gray;  taille = dx*dy;  for(i=0;i<taille;i++) {    *a = (*b<0.0?0:(*b>255.0?255:(unsigned char)(*b)));    a++;    b++;  }	}/*--------------------- Main Program -------------------------------------*/void amss(isotrop,power,Step,MinGrad,outputStep,firstScale,lastScale,image,imageD,imageG,imageC,cmovieD,cmovieG,cmovieC,no_norm)char *isotrop;		/* isotropic diffusion if Grad==0 & isotrop != NULL */char *power;		/* power 1, if == NULL ; power 1/3, if != NULL 	    */float *Step;		/* Step of the scale				    */float *MinGrad;         /* Minimum value of the gradient                    */float *outputStep;	/* frequency of saving				    */float *firstScale; 	/* first scale, equal to zero if not used	    */float *lastScale;	/* scale of the last iteration   		    */Fimage image;		/* Initial Picture 				    */Fimage *imageD;         /* Final Picture                                    */Fimage *imageG;         /* Final gradient picture                           */Fimage *imageC;         /* Final curvature picture                          */Cmovie cmovieD;	        /* Output of images at differents scale	            */Cmovie cmovieG;         /* Output of gradients                              */Cmovie cmovieC;         /* Output of curvatures                             */char *no_norm;		/* if set, cancel curvature normalization           */{  int n_iter;		/* number of iterations	*/  float kkk,outputStepk;  int k,i,need_movies;  Fimage tmp,grad,curv,flip[2];    /* check that options are correct */    if(*firstScale>= *lastScale)     mwerror(USAGE,1,"lastScale must be bigger than firstScale");    if ((!power &&(*Step>0.1000001))||(power &&(*Step>0.5000001)))     mwerror(USAGE,1,"Step %f too big for the power.",*Step);    need_movies = (cmovieD || cmovieG || cmovieC);   /* allocate some images if necessary */  tmp = mw_change_fimage(*imageD,image->nrow,image->ncol);  if (tmp == NULL) mwerror(FATAL,1,"Not enough memory\n");    grad = *imageG;  if (*imageG || cmovieG) {    grad = mw_change_fimage(grad,image->nrow,image->ncol);    if (grad == NULL) mwerror(FATAL,1,"Not enough memory\n");  }  curv = *imageC;  if (*imageC || cmovieC) {    curv = mw_change_fimage(curv,image->nrow,image->ncol);    if (curv == NULL) mwerror(FATAL,1,"Not enough memory\n");  }  /* initializations */  n_iter= (int) (number_iterations(power,*lastScale,*firstScale,*Step)+0.5);  mwdebug("Real time = %f\n",*lastScale);  mwdebug("Number of iterations = %i\n",n_iter);    i = 0;  flip[0] = image;  flip[1] = tmp;  kkk=0.5/ *Step;  outputStepk= *outputStep;                        /*----- MAIN LOOP -----*/  for(k=1;k<=n_iter;k++) {        /* these lines are temporarily removed (problems with fflush) */    /*mwdebug("iteration= %d / %d\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b",k,n_iter);      fflush(stdout);*/        /* one-step evolution */    one_step(flip[i],flip[1-i],grad,curv,	     *Step,*MinGrad,isotrop,power,no_norm);    i = 1-i;        if (need_movies && (k>=kkk || k==n_iter)) {      outputStepk=outputStepk+ *outputStep;      if (k<n_iter) {	if (cmovieD) FINAL(flip[i],cmovieD);	if (cmovieG) FINAL(grad,cmovieG);	if (cmovieC) FINAL(curv,cmovieC);      }      kkk=number_iterations(power,outputStepk,*firstScale,*Step);    }      }  if (i==1) mw_delete_fimage(image);  else if (*imageD) *imageD = image;  if (!*imageD) mw_delete_fimage(tmp);    if (cmovieG && !*imageG) mw_delete_fimage(grad);  if (cmovieC && !*imageC) mw_delete_fimage(curv);}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美国产综合在线一区二区三区| 欧美一区二区在线观看| 亚洲精品免费在线播放| 91社区在线播放| 亚洲一区二区三区四区在线免费观看| 欧美系列在线观看| 欧美年轻男男videosbes| 丝袜美腿亚洲一区二区图片| 日韩午夜av电影| 国产精品一二三区在线| 国产精品久久久久久久久晋中 | 久久精品欧美日韩精品 | 色婷婷久久久亚洲一区二区三区| 亚洲最快最全在线视频| 欧美一卡在线观看| 国产精品一级黄| 亚洲精品亚洲人成人网在线播放| 欧美日韩久久不卡| 国内精品免费**视频| 亚洲丝袜美腿综合| 在线成人免费观看| 国产精品一区免费在线观看| 亚洲天堂福利av| 在线播放欧美女士性生活| 国产精品自在欧美一区| 一本一本久久a久久精品综合麻豆| 亚洲国产精品尤物yw在线观看| 欧美电影免费观看高清完整版 | 亚洲午夜日本在线观看| 欧美美女喷水视频| 激情六月婷婷综合| 亚洲精品免费电影| 日韩欧美国产一二三区| www.日韩在线| 日韩激情中文字幕| 欧美高清一级片在线观看| 欧美天堂一区二区三区| 国产精品伊人色| 一区二区三区免费看视频| 欧美成人激情免费网| 99re这里只有精品首页| 免费观看在线色综合| 中文在线资源观看网站视频免费不卡 | 午夜精品视频一区| 国产欧美日产一区| 欧美日韩高清一区二区三区| 国产精品亚洲成人| 图片区小说区区亚洲影院| 欧美激情一区二区三区在线| 欧美精品xxxxbbbb| 成人精品一区二区三区中文字幕| 天堂在线亚洲视频| 亚洲欧洲色图综合| 精品日韩欧美一区二区| 色国产综合视频| 精品第一国产综合精品aⅴ| 91在线视频免费91| 国产自产2019最新不卡| 亚洲观看高清完整版在线观看| 国产日韩欧美一区二区三区乱码 | 制服丝袜日韩国产| 成人av在线电影| 开心九九激情九九欧美日韩精美视频电影 | 国产精品成人网| 3atv一区二区三区| 一道本成人在线| 粉嫩13p一区二区三区| 蜜桃av一区二区| 亚洲福中文字幕伊人影院| 国产精品伦一区| 久久综合av免费| 亚洲一区二区中文在线| 国产精品无人区| 精品成人a区在线观看| 欧美老肥妇做.爰bbww视频| 91美女精品福利| 风间由美一区二区三区在线观看| 男人操女人的视频在线观看欧美| 一区二区久久久久久| 国产精品成人一区二区艾草| 国产人妖乱国产精品人妖| 欧美成人一级视频| 欧美人牲a欧美精品| 色欧美乱欧美15图片| www.欧美日韩| 从欧美一区二区三区| 国产精品自拍在线| 激情欧美一区二区| 久久99久久99| 久久国产剧场电影| 奇米色一区二区| 日韩国产高清影视| 亚洲成人自拍一区| 亚洲一卡二卡三卡四卡| 亚洲精品视频在线观看网站| 亚洲欧洲国产日本综合| 国产精品久久毛片a| 欧美国产在线观看| 国产精品一区二区在线播放| 久久99久久99| 国内精品伊人久久久久影院对白| 捆绑紧缚一区二区三区视频 | 午夜日韩在线观看| 亚洲国产日韩一级| 亚洲一区二区中文在线| 亚洲午夜电影在线| 亚洲高清视频的网址| 亚洲不卡av一区二区三区| 亚洲狠狠爱一区二区三区| 亚洲成人自拍偷拍| 天天综合色天天综合| 五月激情综合婷婷| 日本成人在线不卡视频| 日韩福利视频网| 麻豆精品久久精品色综合| 久久99国产精品久久99| 国产在线不卡一区| 国产盗摄一区二区三区| 成人av资源站| 一本色道**综合亚洲精品蜜桃冫 | 欧美日韩亚州综合| 欧美丰满嫩嫩电影| 日韩免费视频一区二区| 2023国产一二三区日本精品2022| 久久久蜜臀国产一区二区| 国产亚洲成av人在线观看导航| 中文字幕国产一区| 一区二区三区四区五区视频在线观看 | 56国语精品自产拍在线观看| 日韩一区二区三区电影| 久久久久国产精品人| 国产精品乱子久久久久| 亚洲欧美aⅴ...| 欧美四级电影网| 91精品国产黑色紧身裤美女| 精品国产乱码久久久久久浪潮| 国产亚洲精品福利| 日韩伦理电影网| 亚洲高清视频在线| 九色综合狠狠综合久久| 国产麻豆91精品| 99re视频精品| 欧美精品第1页| 久久久亚洲精品一区二区三区| 国产精品毛片大码女人| 欧美在线制服丝袜| 欧美剧在线免费观看网站| 欧美一级片在线看| 久久久无码精品亚洲日韩按摩| 国产日产亚洲精品系列| 亚洲精品国产无天堂网2021| 香蕉成人伊视频在线观看| 久草中文综合在线| 99久久精品国产麻豆演员表| 欧美体内she精视频| 欧美xxxx老人做受| 国产精品久久看| 亚瑟在线精品视频| 国产伦精品一区二区三区免费迷 | 国产在线国偷精品产拍免费yy | 51精品国自产在线| 国产亚洲综合av| 亚洲综合一二区| 国内精品在线播放| 色94色欧美sute亚洲线路一ni| 91精品国产综合久久精品| 亚洲国产高清aⅴ视频| 亚洲成人动漫av| 成人在线综合网| 欧美日韩精品福利| 欧美激情综合五月色丁香小说| 亚洲综合色在线| 国产丶欧美丶日本不卡视频| 精品视频在线看| 中文一区二区在线观看| 奇米色一区二区| 色天使久久综合网天天| 久久久美女毛片| 亚洲国产精品一区二区www在线 | 欧美日韩在线观看一区二区| 久久久久久99久久久精品网站| 亚洲夂夂婷婷色拍ww47| 国产成人啪免费观看软件 | 秋霞成人午夜伦在线观看| 国产91高潮流白浆在线麻豆| 欧美日韩国产成人在线91| 国产精品国产三级国产aⅴ入口 | 91久久精品网| 国产欧美一区二区精品久导航| 日韩和欧美的一区| 色综合欧美在线| 国产亚洲精品aa午夜观看| 日韩电影在线一区| 色拍拍在线精品视频8848| 国产欧美一区二区精品性色超碰 | 午夜av电影一区| 94-欧美-setu| 国产亚洲精品免费| 蜜桃精品在线观看| 欧美日韩视频不卡|