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

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

?? unblock.c

?? Vector Quantization壓縮算法
?? C
字號:
/****************************************************************************** * * NAME *    unblock.c *    J. R. Goldschneider 4/93 * * MODIFICATIOMS *    11/93 modified to allow defaults to be listed. JRG * * SYNOPSIS *    unblock -i f1 -o f2 -r rows -l columns -h blockheight -w blockwidth * * DESCRIPTION *    For f1 in vector list form, unblock creates f2 (f1.RS is the default *    if f2 is null), which is a raw image form  *    unblocked from f1, and f1 has the specified number  *    of rows and columns and each vector is a block with dimensions  *    given by blockheight and blockwidth. * * OPTIONS *    -i  filename1         DEF_INNAME      *    -o  filename2         DEF_OUTNAME      *    -r  rows              DEF_ROWS     *    -l  columns           DEF_COLS *    -h  blockheight       DEF_BLOCKHEIGHT *    -w  blockwidth        DEF_BLOCKWIDTH  * *    See vq.h for definitions of default values * * CALLS * *****************************************************************************/#include <stdio.h>#include <string.h>#include "vq.h"int main(argc, argv)      int  argc;     char *argv[];{  FILE *inputfile;               /* pointer to input image */  FILE *outputfile;              /* pointer to output image */  char inputname[NAME_MAXIMUM];  /* name of input image */  char outputname[NAME_MAXIMUM]; /* name of output image */  int  rows = DEF_ROWS;          /* number of rows in image */  int  cols = DEF_COLS;          /* number of columns in image */  int  blockheight = DEF_BLOCKHEIGHT; /* height of block */  int  blockwidth = DEF_BLOCKWIDTH;   /* width of block */  char *programname = *argv;          /* name of program */  char option;                   /* used for command line interpretation */  DATA *blocked_image;  /* the input file, blocked form */  DATA **raster_image;  /* 2-dimensional array for raw */  int  blocks_per_col;  /* number of blocks in each column of image */  int  blocks_per_row;  /* number of blocks in each row of image */  int  num_cols;        /* number of columns of image that will be used */  int  num_rows;        /* number of rows of image that will be used */  int  num_blocks;      /* number of blocks in image */  int  num_pixels;      /* number of pixels in image */  int  vector_length;   /* vector dimension */  int  i,j,k;           /* counters and indices */  /* assign default values */  sprintf(inputname,DEF_INNAME);  sprintf(outputname,DEF_OUTNAME);  /* if no command options entered, list all of the defaults */  if (argc == 1) {    printf("%s %s %s\n",USAGE,programname,HOWTOUSE_BLOCK);    printf("\nOPTIONS   DESCRIPTIONS             DEFAULTS\n");    printf("-i        input file               %s\n",inputname);    printf("-o        output file              %s\n",outputname);    printf("-r        rows                     %d\n",rows);    printf("-l        columns                  %d\n",cols);    printf("-h        block height             %d\n",blockheight);    printf("-w        block width              %d\n",blockwidth);    printf("\n");    fflush(stdout);    exit(0);  }  /* read and interpret command line arguments */  while (--argc && ++argv) {    if (*argv[0]=='-' && strlen(*argv)==2) { /* each option has 1 letter */      option = *++argv[0];      if (--argc && ++argv) { /* examine the option */	switch(option) { /* examine the option letter */	case 'i':	  strncpy(inputname,*argv,NAME_MAX);	  break;	case 'o':	  strncpy(outputname,*argv,NAME_MAX);	  break;	case 'r':	  sscanf(*argv,"%d",&rows);	  break;	case 'l':	  sscanf(*argv,"%d",&cols);	  break;	case 'h':	  sscanf(*argv,"%d",&blockheight);	  break;	case 'w':	  sscanf(*argv,"%d",&blockwidth);	  break;	default:	  fprintf(stderr,"%s: %c: %s\n",programname,option,NOTOPTION);	  exit(1);	  break;	}      }      else {	fprintf(stderr,"%s %s %s\n",USAGE,programname,HOWTOUSE_BLOCK);	exit(2);      }        }      else if (*argv[0] == '-') { /* user entered unknown option */      ++argv[0];      fprintf(stderr,"%s: %s: %s\n",programname,*argv,NOTOPTION);      exit(3);    }    else { /* user entered unknown string */      fprintf(stderr,"%s: %s: %s\n",programname,*argv,NOTOPTION);      exit(4);    }  }  /* user did not enter an input file name */  if (strlen(inputname) == 0 ) {     fprintf(stderr,"%s %s %s\n",USAGE,programname,HOWTOUSE_BLOCK);    exit(5);  }  /* user entered illegal value of zero  */  if (rows<=0 || cols<=0 || blockheight<=0 || blockwidth<=0){    fprintf(stderr,"%s %s %s\n",USAGE,programname,HOWTOUSE_BLOCK);    exit(6);  }  /* user entered an input name which is the same as the output name */  if (strcmp(inputname,outputname) == 0) {    fprintf(stderr,"%s: %s %s %s %s: %s\n",	    programname,inputname,AND,outputname,ARESAME,ABORT_UNBLOCK);    exit(7);  }  /* if an input name is given but not an output, assign output name here */  if (strlen(outputname) == 0) {    sprintf(outputname,"%s%s",inputname,DEF_APPEND_RS);  }  /* open the files */  if((inputfile = fopen(inputname,"r")) == NULL){    fprintf(stderr,"%s: %s: %s\n",programname,inputname,NOTFOUND);    exit(8);  }  if((outputfile = fopen(outputname,"w")) == NULL){    fprintf(stderr,"%s: %s: %s\n",programname,outputname,NOTFOUND);    exit(9);  }  /* prepare the variables needed to implement algorithm */  blocks_per_col = rows/blockheight;  blocks_per_row = cols/blockwidth;  num_cols = blocks_per_row*blockwidth;  num_rows = blocks_per_col*blockheight;  num_blocks = blocks_per_col*blocks_per_row;  num_pixels = rows*cols;  vector_length = blockheight*blockwidth;  /* allocate memory for the raster image and the blocked image */  if (!(blocked_image = (DATA *) calloc(num_pixels, sizeof(DATA))) ||      !(raster_image = (DATA **) calloc(num_rows, sizeof(DATA *)))) {    fprintf(stderr,"%s: %s\n",programname,NOMEMORY);    exit(10);  }  /* allocate memory for the raster image elements */   for(i=0; i<num_rows; i++) {    if (!(raster_image[i] = (DATA *) calloc(num_cols,sizeof(DATA)))) {      fprintf(stderr,"%s: %s\n",programname,NOMEMORY);      exit(11);    }  }  /* read contents of inputfile into blocked_image array */  clearerr(inputfile);  if (fread(blocked_image,sizeof(DATA),num_pixels,inputfile)!=num_pixels ||       feof(inputfile) || ferror(inputfile) ) {    fprintf(stderr,"%s: %s: %s\n",programname,inputname,NOREAD);    exit(12);  }  /* create the block vectors and write them to the output file */  for(i=0; i<num_rows; i++) {    for(j=0; j<num_cols; j++) {      k = (i%blockheight)*blockwidth + (j%blockwidth) + 	( (i/blockheight)*blocks_per_row + (j/blockwidth) ) * vector_length;      raster_image[i][j] = blocked_image[k];    }    if (fwrite(raster_image[i], sizeof(DATA), num_cols, outputfile) 	!= num_cols) {      fprintf(stderr,"%s: %s: %s\n",programname,outputname,NOWRITE);      exit(13);    }  }  fclose(inputfile);  fclose(outputfile);  exit(0);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久综合九色综合欧美亚洲| 国产视频一区二区三区在线观看| 欧美一区二区三区影视| 国产视频一区二区在线观看| 亚洲成人免费观看| 国产白丝网站精品污在线入口| 欧美性色黄大片| 国产欧美一区二区三区在线老狼| 亚洲小说欧美激情另类| 国产99精品在线观看| 国产精品毛片高清在线完整版| 石原莉奈在线亚洲二区| 成人av网站在线| 精品美女一区二区| 午夜伦欧美伦电影理论片| 波多野结衣一区二区三区| 日韩一二三区不卡| 亚洲国产成人va在线观看天堂| 99这里只有久久精品视频| 精品国产人成亚洲区| 亚洲欧美一区二区三区久本道91| 国产麻豆9l精品三级站| 91精品国产品国语在线不卡 | 国产福利精品导航| 欧美日本韩国一区| 亚洲一区二区三区自拍| 91网站黄www| 国产精品午夜在线观看| 国产麻豆精品久久一二三| 日韩精品在线网站| 麻豆一区二区在线| 欧美成va人片在线观看| 日韩一区欧美二区| 欧美日韩激情在线| 天天影视网天天综合色在线播放| 欧美视频一区二区三区在线观看 | 性做久久久久久久久| 一本大道久久a久久综合| 欧美国产一区视频在线观看| 国产美女在线观看一区| 久久亚洲精品小早川怜子| 激情图片小说一区| www激情久久| 国产aⅴ精品一区二区三区色成熟| ww久久中文字幕| 成人亚洲一区二区一| 国产精品人人做人人爽人人添| 成人午夜电影久久影院| 国产精品久久久久aaaa樱花| 成人动漫视频在线| 亚洲欧美日韩国产手机在线| 色视频欧美一区二区三区| 亚洲影院久久精品| 亚洲美女在线一区| 色哟哟精品一区| 日韩中文字幕麻豆| 精品国产乱码久久久久久1区2区| 国产精品99久久久久久有的能看| 国产欧美一区二区精品婷婷| 9久草视频在线视频精品| 亚洲综合视频网| 欧美一区二区三区免费大片| 国产在线不卡一区| 中文字幕一区二区视频| 欧洲日韩一区二区三区| 免费一级片91| 欧美国产激情一区二区三区蜜月 | 色综合天天性综合| 亚洲福利视频导航| www久久精品| 在线精品视频免费播放| 久久精品国产久精国产| 国产精品久久久久久久久免费丝袜| 91久久精品一区二区三区| 日本中文一区二区三区| 国产精品亲子乱子伦xxxx裸| 欧美日韩国产影片| 懂色av一区二区三区蜜臀| 亚洲综合小说图片| 久久久精品2019中文字幕之3| 99re这里只有精品6| 欧美aaaaaa午夜精品| 中文字幕一区二区不卡 | 在线一区二区观看| 国产一区啦啦啦在线观看| 一区二区免费在线播放| 久久久久国产精品厨房| 欧洲一区在线观看| 国产成人综合在线观看| 视频一区欧美日韩| 亚洲精品美腿丝袜| 国产日韩欧美亚洲| 欧美一卡二卡三卡| 欧美在线视频你懂得| 成人h版在线观看| 久久精品国产亚洲a| 亚洲不卡一区二区三区| 亚洲欧洲av色图| 久久久不卡影院| 91精品国产欧美一区二区18 | 在线播放91灌醉迷j高跟美女| 国产成人在线视频网站| 日本一道高清亚洲日美韩| 亚洲女人的天堂| 国产精品九色蝌蚪自拍| 精品国产一二三区| 日韩视频国产视频| 91麻豆精品国产综合久久久久久| 91国产精品成人| 色综合天天做天天爱| 成人在线视频首页| 成人黄色av电影| 成人一区在线观看| 成人丝袜高跟foot| 国产精品综合视频| 国产伦精品一区二区三区视频青涩| 日韩中文字幕91| 日韩av午夜在线观看| 同产精品九九九| 五月天亚洲精品| 首页综合国产亚洲丝袜| 日韩精品一二区| 日韩在线观看一区二区| 麻豆成人久久精品二区三区红 | 国产精品99久久久久久有的能看| 精品亚洲免费视频| 国产一区二区久久| 国产高清在线精品| k8久久久一区二区三区| 91年精品国产| 在线视频欧美区| 在线不卡的av| 久久免费精品国产久精品久久久久| 久久亚洲影视婷婷| 国产精品二区一区二区aⅴ污介绍| 国产精品美女久久久久久久久| 国产精品久久福利| 亚洲一区二区三区小说| 日韩电影在线免费| 国产经典欧美精品| 一本久久a久久精品亚洲| 欧美日韩激情一区| 精品精品国产高清一毛片一天堂| 久久久久久久久久看片| 中文字幕日韩av资源站| 亚洲成人精品一区| 极品少妇xxxx精品少妇| 成人福利视频在线| 欧美日韩高清一区二区| 久久婷婷成人综合色| 亚洲欧美乱综合| 日韩中文字幕1| 东方欧美亚洲色图在线| 欧美亚洲另类激情小说| 精品国产亚洲在线| 一区二区高清视频在线观看| 秋霞影院一区二区| 99久久99久久免费精品蜜臀| 欧美精品高清视频| 国产精品女同一区二区三区| 亚洲v中文字幕| 国产成人av电影在线| 在线电影欧美成精品| 综合久久综合久久| 国内精品国产成人国产三级粉色| 一本一道综合狠狠老| 26uuu色噜噜精品一区二区| 亚洲另类一区二区| 国产尤物一区二区在线| 欧美四级电影网| 国产精品卡一卡二卡三| 奇米四色…亚洲| 在线免费不卡视频| 国产欧美一区二区在线| 日韩av一区二区在线影视| 一本到三区不卡视频| 日本一区二区综合亚洲| 九色综合狠狠综合久久| 欧美日韩美女一区二区| 国产精品白丝在线| 国产精品综合一区二区三区| 日韩写真欧美这视频| 亚洲午夜精品久久久久久久久| 成人一区二区三区视频| 久久美女艺术照精彩视频福利播放| 日韩电影免费在线| 欧美日韩一级二级三级| 亚洲视频在线一区观看| 国产精品99久久久久| 精品国产欧美一区二区| 日韩黄色一级片| 欧美日本一区二区三区| 亚洲亚洲精品在线观看| 欧美亚洲综合网| 亚洲激情第一区| 色久综合一二码| 一二三区精品福利视频| 欧美自拍丝袜亚洲| 亚洲va欧美va国产va天堂影院| 在线观看中文字幕不卡|