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

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

?? ext2_compute.c

?? LastWave
?? C
字號:
/*..........................................................................*//*                                                                          *//*      L a s t W a v e    P a c k a g e 'dwtrans2d' 2.1                    *//*                                                                          *//*      Copyright (C) 1998-2002  E.Bacry, J.Fraleu, J.Kalifa, E. Le Pennec, *//*                         W.L. Hwang , S.Mallat, S.Zhong                   *//*      emails : lastwave@cmap.polytechnique.fr                             *//*               fraleu@cmap.polytechnique.fr                               *//*               kalifa@cmap.polytechnique.fr                               *//*               lepennec@cmap.polytechnique.fr                             *//*               mallat@cmap.polytechnique.fr                               *//*               whwang@iis.sinica.edu.tw                                   *//*               szhong@chelsea.princeton.edu                               *//*                                                                          *//*..........................................................................*//*                                                                          *//*      This program is a free software, you can redistribute it and/or     *//*      modify it under the terms of the GNU General Public License as      *//*      published by the Free Software Foundation; either version 2 of the  *//*      License, or (at your option) any later version                      *//*                                                                          *//*      This program is distributed in the hope that it will be useful,     *//*      but WITHOUT ANY WARRANTY; without even the implied warranty of      *//*      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the       *//*      GNU General Public License for more details.                        *//*                                                                          *//*      You should have received a copy of the GNU General Public License   *//*      along with this program (in a file named COPYRIGHT);                *//*      if not, write to the Free Software Foundation, Inc.,                *//*      59 Temple Place, Suite 330, Boston, MA  02111-1307  USA             *//*                                                                          *//*..........................................................................*/#include "lastwave.h"#include "extrema2d.h"  extern int W2_mot_proc;static int W2_iexp2(int j){  int k;  int s;  s = 1;  for(k = 0; k < j; k++)    s += s;  return(s);}/* copied from $wave2/vchain_src/vchain_quant.c */static LWFLOAT W2_modulo2PI(LWFLOAT value){  if (value > M_PI)    return(value - 2 * M_PI);  else if (value < - M_PI)    return(value + 2 * M_PI);  else    return(value);}/**** quantumize the argument into three closet directions  *****//**** useful in the chain computation                       *****/void W2_direction(LWFLOAT argument,int * dir,int *dir1,int *dir2){  LWFLOAT fdir, rdir;    fdir = argument * 4.0/M_PI + 8.0;  rdir = (int) (fdir<0 ? fdir-0.5 : fdir+0.5);  *dir = ((int)rdir) % 8 ;  /* the 1st */  if (fdir > rdir) {    *dir1 = (*dir + 1) % 8; /* the 2nd */    *dir2 = (*dir + 7) % 8; /* the 3rd */  }   else if (fdir < rdir) {    *dir1 = (*dir + 7) % 8;    *dir2 = (*dir + 1) % 8;  } else {    *dir2 = *dir1 = *dir;  /* degenerate case */  }}static void W2_double_dir(LWFLOAT argument,int * dir){  LWFLOAT fdir, rdir;    fdir = argument * 2.0/M_PI + 4.0;  rdir = (int) (fdir<0 ? fdir-0.5 : fdir+0.5);  *dir = 2 * (((int)rdir) % 4) ;  }static int W2_opposit_dir(LWFLOAT arg1,LWFLOAT arg2){  int a,b , dir;  LWFLOAT  diff;  diff = W2_modulo2PI(arg1 - arg2);  W2_direction(diff,&dir,&a,&b);  if( (dir == 3) || (dir == 4) || (dir == 5) )    return(YES);  else    return(NO);}void  W2_compute_point(EXTLIS2 extlis,int level,IMAGE image_magnitude, IMAGE image_argument,int  orientation)         {  int nrow, ncol;  int i,j, I, k, k0;  int is_max_point, dir,dir0,dir1,dir2,bol1,bol2,bol3,bol4;  int horizontal_flag, vertical_flag, point_potential;  LWFLOAT *values_magnitude, *values_argument;  LWFLOAT mag, argument;  EXT2 ext; ;  nrow = image_magnitude->nrow;  ncol = image_magnitude->ncol;  values_magnitude = (LWFLOAT *)image_magnitude->pixels;  values_argument = (LWFLOAT *)image_argument->pixels;   W2_point_pic_alloc(extlis, nrow, ncol);  for (i = 0, I = 0; i < nrow; i++, I += ncol)    for (j = 0; j < ncol; j++) {      k = I + j;      mag = values_magnitude[k];      argument = values_argument[k];      W2_double_dir(argument,&dir);      switch (dir) {      case 0: 	k0 = -1;	break;      case 4: 	k0 = 1;	break;      case 2: 	k0 = -ncol;	break;      case 6: 	k0 = ncol;	break;      }      if ((((i == 0) || (i == nrow - 1)) && ((dir == 2) || (dir == 6))) ||	  (((j == 0) || (j == ncol -1)) && ((dir == 0) || (dir == 4))) )	point_potential = NO;      else point_potential = YES;      if (point_potential) {	if(orientation == NO) {	  bol1 =  (values_magnitude[k] > values_magnitude[k+k0]) ;	  bol2 = bol1 &&  W2_test_maxima(-k0,values_magnitude,k,nrow,ncol); 	  bol3 = (values_magnitude[k] > values_magnitude[k-k0]) ;	  bol4 = bol3 &&  W2_test_maxima(k0,values_magnitude,k,nrow,ncol); 	}	else {	  bol1 = ( (values_magnitude[k] > values_magnitude[k+k0]) 		  || W2_opposit_dir(values_argument[k],values_argument[k+k0]));	  bol2 = (bol1 && (W2_test_maxima(-k0,values_magnitude,k,nrow,ncol)	       || W2_opposit_dir(values_argument[k],values_argument[k-k0])) );	  bol3 = ( (values_magnitude[k] > values_magnitude[k-k0]) 	       || W2_opposit_dir(values_argument[k],values_argument[k-k0]) );	  bol4 = (bol3 && (W2_test_maxima(k0,values_magnitude,k,nrow,ncol)	        || W2_opposit_dir(values_argument[k],values_argument[k+k0]) ) );	}	is_max_point = bol2 || bol4 ;	if (is_max_point) {	  ext = NewExt2();	  ext->scale =W2_iexp2(level);	  ext->x = j;	  ext->y = i;	  ext->mag = mag;	  ext->arg = argument;	  extlis->first[k] = ext;	  extlis->size++;	}      }    }  /* At the finner level we fill the wholes of maxima whose directions     is diagonales, when needed */  if(level == 1) {    for (i = 1, I = ncol; i < nrow - 1; i++, I += ncol)      for (j = 1; j < ncol - 1; j++) {	k = I + j;	mag = values_magnitude[k];	argument = values_argument[k];	W2_direction(argument,&dir0,&dir1,&dir2);	horizontal_flag = NO;	vertical_flag = NO;	/* If the direction is diagonal, we check wether their can be	   a potential whole */	switch (dir0) {	case 1: 	case 5: 	  bol1 = (extlis->first[k-1+ncol] &&		  (extlis->first[k-ncol] || 		   extlis->first[k-ncol+1] || 		   extlis->first[k+1]));	  bol2 = (extlis->first[k+1-ncol] &&		  (extlis->first[k+ncol] || 		   extlis->first[k+ncol-1] || 		   extlis->first[k-1]));		  break;	case 3: 	case 7: 	  bol1 = (extlis->first[k+1+ncol] &&		  (extlis->first[k-ncol] || 		   extlis->first[k-ncol-1] || 		   extlis->first[k-1]));	  bol2 = (extlis->first[k-1-ncol]  &&		  (extlis->first[k+ncol]  || 		   extlis->first[k+ncol+1]  || 		   extlis->first[k+1]));		  break;	default:	  bol1 = 0;	  bol2 = 0;		  break;	}	if((bol1 || bol2) && !(extlis->first[k])) {	  /* Then we check maxima in both directions */	  /* Horizontal direction */	  k0 = 1;	  bol1 =  (values_magnitude[k] > values_magnitude[k+k0]) ;	  bol2 = bol1 && W2_test_maxima(-k0,values_magnitude,k,nrow,ncol);	  bol3 = (values_magnitude[k] > values_magnitude[k-k0]) ;	  bol4 = bol3 && W2_test_maxima(k0,values_magnitude,k,nrow,ncol);	  is_max_point = bol2 || bol4 ;	  if (is_max_point)  horizontal_flag = YES;	  else horizontal_flag = NO;	  /* Vertical direction */	  k0 = ncol;	  bol1 =  (values_magnitude[k] > values_magnitude[k+k0]) ;	  bol2 = bol1 && W2_test_maxima(-k0,values_magnitude,k,nrow,ncol);	  bol3 = (values_magnitude[k] > values_magnitude[k-k0]) ;	  bol4 = bol3 && W2_test_maxima(k0,values_magnitude,k,nrow,ncol);	  is_max_point = bol2 || bol4 ;	  if (is_max_point) vertical_flag = YES;	  else vertical_flag = NO;	  if (horizontal_flag || vertical_flag) {	    ext = NewExt2();	    ext->scale = W2_iexp2(level);	    ext->x = j;	    ext->y = i;	    ext->mag = mag;	    ext->arg = argument;	    extlis->first[k] = ext;	    extlis->size++;	  }	}      }  } }extern void W2_corresponding_coarser_finer(EXTLIS2 fextlis,EXTLIS2 extlis);static void W2_compute_point_repr(WTRANS2 wtrans,int orientation){  int l;  EXTREP2 extrep;    extrep = wtrans->extrep;  if (extrep->noct != 0) {    W2_clear_point_repr(extrep);}  extrep->noct = wtrans->noct;  CopyImage(wtrans->images[wtrans->noct][0], extrep->coarse);  for(l = 1; l <= extrep->noct; l++)     W2_compute_point(extrep->array[l],l,wtrans->images[l][MAGNITUDE],					wtrans->images[l][ARGUMENT],					orientation);  /* Pb coarser */  for (l =1; l< extrep-> noct;l++)    W2_corresponding_coarser_finer(extrep->array[l], extrep->array[l+1]);}void C_Point2Compute(char ** argv)     {  WTRANS2 wtrans=NULL;  char car;  int nb= 0;  int l, orientation = YES;  /* int num_level; *//*   double fact; */  int periodic=YES;  argv = ParseArgv(argv,tWTRANS2_,NULL,&wtrans,-1); if (wtrans ==NULL) wtrans= GetWtrans2Cur(); CheckWtrans2(wtrans);  car =' ';   wtrans->extrep->normalized= YES;   while (car== ParseOption(&argv)) {    switch (car) {    case 'o':      orientation = NO;      break;    case 'n':      wtrans->extrep->normalized = NO;      break;    case 'N':      periodic=NO;      break;    default:      ErrorOption(car);    }  }  NoMoreArgs(argv);  if (W2_mot_proc) {    wtrans->extrep->normalized = NO; /* kludge to keep factor=1 for motion 10/20/92 */    orientation = NO;  }  W2_compute_point_repr(wtrans,orientation);  for (l = 1; l <= wtrans->extrep->noct; ++l)    nb += wtrans->extrep->array[l]->size;  if(wtrans->extrep->normalized) {    for(l = 1; l <= wtrans->extrep->noct; l++)	    W2_point_pic_normalize(wtrans,l);              }     SetResultInt(nb);  wtrans->extrep->lipflag = NO;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美色综合影院| 国产欧美一区二区精品忘忧草 | 国产三级三级三级精品8ⅰ区| 欧美日韩在线电影| 精品人在线二区三区| 亚洲国产电影在线观看| 亚洲影视在线播放| 精品在线播放午夜| 99精品热视频| 日韩一区二区在线看| 亚洲国产成人一区二区三区| 亚洲一区二区三区四区在线观看 | 日韩精品一二三区| 国产一区不卡精品| 欧美日韩一区国产| 国产精品午夜电影| 亚洲欧美日韩国产手机在线 | 久久99久久久欧美国产| 粉嫩aⅴ一区二区三区四区| 欧美日韩精品一区二区三区四区| 久久精品夜夜夜夜久久| 亚洲与欧洲av电影| kk眼镜猥琐国模调教系列一区二区| 在线播放一区二区三区| 国产精品麻豆99久久久久久| 理论电影国产精品| 在线观看日韩一区| 国产精品久久久久久久久久久免费看| 免费一级片91| av网站一区二区三区| 精品国产乱码久久久久久浪潮| 自拍偷拍国产亚洲| 成人免费毛片aaaaa**| 日韩一级二级三级| 亚洲国产高清aⅴ视频| 美女mm1313爽爽久久久蜜臀| 在线观看91视频| 亚洲综合图片区| 欧美亚洲动漫制服丝袜| 亚洲精品国产精品乱码不99| 色综合久久天天| 亚洲国产一区二区在线播放| 欧美日韩色综合| 日本美女一区二区| 精品成人私密视频| 成人综合婷婷国产精品久久免费| 中文字幕 久热精品 视频在线| 成人一区二区三区| 亚洲精品国产a| 欧美一区二区福利视频| 激情综合色综合久久综合| 国产欧美一区二区精品久导航| 成人免费高清在线观看| 有码一区二区三区| 在线播放一区二区三区| 国产一区二区三区最好精华液| 国产蜜臀av在线一区二区三区| 91丨九色porny丨蝌蚪| 婷婷中文字幕综合| 久久男人中文字幕资源站| 99精品黄色片免费大全| 亚洲福利视频三区| 国产三级三级三级精品8ⅰ区| 99re这里只有精品视频首页| 日韩影院在线观看| 日本一区二区不卡视频| 欧美人成免费网站| 国产99精品视频| 午夜成人免费视频| 国产清纯白嫩初高生在线观看91 | 国产伦精品一区二区三区免费 | 亚洲精品成人在线| 日韩亚洲欧美中文三级| av男人天堂一区| 老司机精品视频导航| 一区精品在线播放| 日韩欧美在线影院| 色播五月激情综合网| 精品一区二区三区日韩| 亚洲欧美精品午睡沙发| 久久综合狠狠综合| 欧美撒尿777hd撒尿| 国产尤物一区二区| 日韩高清不卡在线| 亚洲少妇30p| 久久精品夜色噜噜亚洲aⅴ| 欧美日韩一区视频| 一本一道久久a久久精品综合蜜臀| 美日韩一区二区| 亚洲国产精品尤物yw在线观看| 久久男人中文字幕资源站| 欧美精品日日鲁夜夜添| 91蜜桃视频在线| 成人在线视频一区二区| 毛片不卡一区二区| 亚洲成人黄色小说| 亚洲欧美国产77777| 日韩精品成人一区二区三区| 国产精品美女久久久久久| 久久综合久色欧美综合狠狠| 欧美一区二区日韩一区二区| 欧美视频在线不卡| 色欧美88888久久久久久影院| 国产不卡在线播放| 国产精品香蕉一区二区三区| 麻豆中文一区二区| 蜜臀va亚洲va欧美va天堂 | 蜜桃精品视频在线观看| 亚洲中国最大av网站| 亚洲人xxxx| 亚洲女厕所小便bbb| 亚洲欧洲日韩在线| 中文字幕国产一区二区| 久久久久国色av免费看影院| 久久一区二区视频| 久久亚洲综合色| 久久久久久久久久看片| 久久在线观看免费| www亚洲一区| 国产三级精品三级| 亚洲国产高清不卡| 亚洲欧洲日韩综合一区二区| 国产精品久久久久久久久动漫| 国产午夜精品美女毛片视频| 久久免费美女视频| 中文av字幕一区| 亚洲色图制服丝袜| 亚洲成在线观看| 蜜臀精品一区二区三区在线观看 | 亚洲一区二区三区影院| 亚洲自拍偷拍图区| 欧美96一区二区免费视频| 久久成人免费网| 成人国产精品免费观看动漫| 97精品电影院| 欧美高清视频不卡网| 精品免费日韩av| 中文字幕视频一区二区三区久| 亚洲激情图片小说视频| 热久久国产精品| 成人免费观看男女羞羞视频| 欧美在线free| 亚洲久本草在线中文字幕| 日韩精品一级二级| 国产精华液一区二区三区| 91视频免费播放| 91精品国产乱| 国产精品护士白丝一区av| 亚洲成人自拍偷拍| 国产一区二区三区四区五区美女| av在线播放不卡| 欧美一区二区三区性视频| 日本一区二区三区dvd视频在线| 亚洲欧美另类在线| 精品一区二区av| 在线观看亚洲a| 久久久久久久久97黄色工厂| 亚洲欧美二区三区| 国产成人久久精品77777最新版本| 色乱码一区二区三区88| 精品欧美久久久| 亚洲高清不卡在线观看| 成人精品视频一区二区三区尤物| 在线不卡一区二区| 亚洲男人天堂av| 国产91在线|亚洲| 国产片一区二区| 亚洲一区在线免费观看| 中文字幕不卡的av| 欧美精品1区2区| 欧美亚洲高清一区二区三区不卡| 日本韩国欧美三级| av激情亚洲男人天堂| 久久免费美女视频| 精品视频999| 福利一区二区在线观看| 欧美国产日韩一二三区| 91麻豆精品国产91久久久使用方法| www.66久久| 精品少妇一区二区三区视频免付费| 一区二区三区成人在线视频| 国产在线精品不卡| 欧美高清性hdvideosex| 亚洲区小说区图片区qvod| 国产成人午夜视频| 久久亚洲欧美国产精品乐播| 偷拍自拍另类欧美| 欧美三级资源在线| 一区二区在线看| 99视频精品全部免费在线| 欧美激情在线一区二区三区| 国产河南妇女毛片精品久久久 | 亚洲国产精品嫩草影院| 成人免费精品视频| 国产人伦精品一区二区| 国产99一区视频免费| 国产日韩欧美综合在线| 国产精品一二三区| 中文子幕无线码一区tr| 成人黄色在线看|