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

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

?? image.c

?? VC小波應(yīng)用 視頻編碼播放 EZW2 WAVLETS TRANSFORMER
?? C
?? 第 1 頁 / 共 3 頁
字號:

/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
int CopyImage(PIMAGE pimageDest, PIMAGE pimageSrc)
{
   assert((pimageDest->xsize == pimageSrc->xsize) &&
      (pimageDest->ysize == pimageSrc->ysize));
	
   memcpy(pimageDest->pixel[0], pimageSrc->pixel[0], 
      (pimageDest->xsize)*(pimageDest->ysize));
	
   return TRUE;
	
}

/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
int CopyLImage(PLIMAGE plimageDest, PLIMAGE plimageSrc)
{
   assert((plimageDest->xsize == plimageSrc->xsize) &&
      (plimageDest->ysize == plimageSrc->ysize));
	
   memcpy(plimageDest->pixel[0], plimageSrc->pixel[0], 
      (plimageDest->xsize)*(plimageDest->ysize)*sizeof(int));
	
   return TRUE;
	
}

/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
int CopyFImage(PFIMAGE pfimageDest, PFIMAGE pfimageSrc)
{
   assert((pfimageDest->xsize == pfimageSrc->xsize) &&
      (pfimageDest->ysize == pfimageSrc->ysize));
	
   memcpy(pfimageDest->pixel[0], pfimageSrc->pixel[0], 
      (pfimageDest->xsize)*(pfimageDest->ysize)*sizeof(double));
	
   return TRUE;
	
}

/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
int CopyImageToFImage(PFIMAGE pfimageDest, PIMAGE pimageSrc)
{
	int i, j;
	
   assert((pfimageDest->xsize == pimageSrc->xsize) &&
      (pfimageDest->ysize == pimageSrc->ysize));
	
	for (j=0; j<pfimageDest->ysize; j++){
		for (i=0; i<pfimageDest->xsize; i++){
			pfimageDest->pixel[j][i] = (double)pimageSrc->pixel[j][i];
		}
	}
   
   return TRUE;
	
}

/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
int CopyFImageToImage(PIMAGE pimageDest, PFIMAGE pfimageSrc)
{
	int i, j;
	
   assert((pimageDest->xsize == pfimageSrc->xsize) &&
      (pimageDest->ysize == pfimageSrc->ysize));
	
	for (j=0; j<pimageDest->ysize; j++){
		for (i=0; i<pimageDest->xsize; i++){
			pimageDest->pixel[j][i] = (int)( (pfimageSrc->pixel[j][i]+0.5) < 0.0 ? 0 : 
											( (pfimageSrc->pixel[j][i]+0.5) > 255.0 ? 
												255 : (pfimageSrc->pixel[j][i]+0.5)));
		}
	}
   
   return TRUE;
	
}

/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
/*
 * Average2x2Image
 * Return a floating point image by 2x2 
 * averaging the source image
 */
PFIMAGE Average2x2Image(PIMAGE pimageSrc, int type)
{
   PFIMAGE pfimage;
   int ii, jj, i, j, XLimit, YLimit;
	
   /* allocate the memory */
   pfimage = (PFIMAGE)malloc(sizeof(FIMAGE));
	
   pfimage->xsize=pimageSrc->xsize/2;
   pfimage->ysize=pimageSrc->ysize/2;
	
   if (FImageBufferAlloc(pfimage)){
      switch (type){
		case 0: ii = 0; jj = 0; break;
		case 1: ii = 1; jj = 0; break;
		case 2: ii = 0; jj = 1; break;
		case 3: ii = 1; jj = 1; break;
      }
		
		XLimit = (pimageSrc->xsize - ii) / 2;
		YLimit = (pimageSrc->ysize - jj) / 2;

      for (j=0; j<YLimit; j++){
         for (i=0; i<XLimit; i++){
            pfimage->pixel[j][i]= (double)
               0.25*(pimageSrc->pixel[(j<<1) + jj][(i<<1) + ii] +
					pimageSrc->pixel[(j<<1) + jj][(i<<1) + ii + 1] +
					pimageSrc->pixel[(j<<1) + jj + 1][(i<<1) + ii] +
					pimageSrc->pixel[(j<<1) + jj + 1][(i<<1) + ii + 1]);
         }
      }
      return pfimage;
   }
   else{
      return NULL;
   }
}

/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
/* 
 * Average3x3Image
 * Return a floating point image by 3x3 
 * averaging the source image
 */
PFIMAGE Average3x3Image(PIMAGE pimageSrc, int type)
{
   PFIMAGE pfimage;
   int ii, jj, i, j, XLimit, YLimit;
	
   /* allocate the memory */
   pfimage = (PFIMAGE)malloc(sizeof(FIMAGE));
	
   pfimage->xsize=pimageSrc->xsize/3;
   pfimage->ysize=pimageSrc->ysize/3;

   if (FImageBufferAlloc(pfimage)){
      switch (type){
		case 0: ii = 0; jj = 0; break;
		case 1: ii = 1; jj = 0; break;
		case 2: ii = 2; jj = 0; break;
		case 3: ii = 0; jj = 1; break;
		case 4: ii = 1; jj = 1; break;
		case 5: ii = 2; jj = 1; break;
		case 6: ii = 0; jj = 2; break;
		case 7: ii = 1; jj = 2; break;
		case 8: ii = 2; jj = 2; break;
      }
		
		XLimit = (pimageSrc->xsize - ii) / 3;
		YLimit = (pimageSrc->ysize - jj) / 3;

      for (j=0; j<YLimit; j++){
         for (i=0; i<XLimit; i++){
            pfimage->pixel[j][i] = (double)
               (  pimageSrc->pixel[3*j + jj    ][3*i + ii    ] +
					   pimageSrc->pixel[3*j + jj    ][3*i + ii + 1] +
					   pimageSrc->pixel[3*j + jj    ][3*i + ii + 2] +
					   pimageSrc->pixel[3*j + jj + 1][3*i + ii    ] +
					   pimageSrc->pixel[3*j + jj + 1][3*i + ii + 1] +
					   pimageSrc->pixel[3*j + jj + 1][3*i + ii + 2] +
					   pimageSrc->pixel[3*j + jj + 2][3*i + ii    ] +
					   pimageSrc->pixel[3*j + jj + 2][3*i + ii + 1] +
					   pimageSrc->pixel[3*j + jj + 2][3*i + ii + 2])/(double)9.0;
         }
      }

      return pfimage;
   }
   else{
      return NULL;
   }
}

/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
/*
 * Average3x3ImageFilter0
 * Return a floating point image by 3x3 with filter
 * averaging the source image
 */
PFIMAGE Average3x3ImageFilter0(PIMAGE pimageSrc, int type)
{
   PFIMAGE pfimage;
   int ii, jj, i, j, XLimit, YLimit;
	double FilterCoeff[9] = {0.25, 0.50, 0.25, 
		                   0.50, 1.00, 0.50,
								 0.25, 0.50, 0.25};
	
   /* allocate the memory */
   pfimage = (PFIMAGE)malloc(sizeof(FIMAGE));
	
   pfimage->xsize=pimageSrc->xsize/3;
   pfimage->ysize=pimageSrc->ysize/3;
	
   if (FImageBufferAlloc(pfimage)){
      switch (type){
		case 0: ii = 0; jj = 0; break;
		case 1: ii = 1; jj = 0; break;
		case 2: ii = 2; jj = 0; break;
		case 3: ii = 0; jj = 1; break;
		case 4: ii = 1; jj = 1; break;
		case 5: ii = 2; jj = 1; break;
		case 6: ii = 0; jj = 2; break;
		case 7: ii = 1; jj = 2; break;
		case 8: ii = 2; jj = 2; break;
      }
		
		
		XLimit = (pimageSrc->xsize - ii) / 3;
		YLimit = (pimageSrc->ysize - jj) / 3;

      for (j=0; j<YLimit; j++){
         for (i=0; i<XLimit; i++){
            pfimage->pixel[j][i] = (double)
               (  FilterCoeff[0]*pimageSrc->pixel[3*j + jj    ][3*i + ii    ] +
					   FilterCoeff[1]*pimageSrc->pixel[3*j + jj    ][3*i + ii + 1] +
					   FilterCoeff[2]*pimageSrc->pixel[3*j + jj    ][3*i + ii + 2] +
					   FilterCoeff[3]*pimageSrc->pixel[3*j + jj + 1][3*i + ii    ] +
					   FilterCoeff[4]*pimageSrc->pixel[3*j + jj + 1][3*i + ii + 1] +
					   FilterCoeff[5]*pimageSrc->pixel[3*j + jj + 1][3*i + ii + 2] +
					   FilterCoeff[6]*pimageSrc->pixel[3*j + jj + 2][3*i + ii    ] +
					   FilterCoeff[7]*pimageSrc->pixel[3*j + jj + 2][3*i + ii + 1] +
					   FilterCoeff[8]*pimageSrc->pixel[3*j + jj + 2][3*i + ii + 2])/(double)4.0;
         }
      }
      return pfimage;
   }
   else{
      return NULL;
   }
}

/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
int ImageInitialize(int XSize, int YSize, PIMAGE pimage)
{
	assert(XSize>0 && YSize>0);
	
	pimage->xsize=XSize;
   pimage->ysize=YSize;
	
   /* Allocate memory */
   if(!ImageBufferAlloc(pimage)){
      return 0;
   }
	else{
		return 1; 
	}
}

/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
int LImageInitialize(int XSize, int YSize, PLIMAGE plimage)
{
	assert(XSize>0 && YSize>0);
	
	plimage->xsize=XSize;
   plimage->ysize=YSize;
	
   /* Allocate memory */
   if(!LImageBufferAlloc(plimage)){
      return 0;
   }
	else{
		return 1; 
	}
}

/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
int FImageInitialize(int XSize, int YSize, PFIMAGE pfimage)
{
	assert(XSize>0 && YSize>0);
	
	pfimage->xsize=XSize;
   pfimage->ysize=YSize;
	
   /* Allocate memory */
   if(!FImageBufferAlloc(pfimage)){
      return 0;
   }
	else{
		return 1;
	}
}


/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
PIMAGE ImageAlloc(int XSize, int YSize)
{
   PIMAGE pimage;
	
	assert(XSize>0 && YSize>0);
	
   pimage = (PIMAGE)malloc(sizeof(IMAGE));
   pimage->xsize=XSize;
   pimage->ysize=YSize;
	
   /* Allocate memory */
   if(!ImageBufferAlloc(pimage)){
      return NULL;
   }
	else{
		return pimage; 
	}
}

/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
PLIMAGE LImageAlloc(int XSize, int YSize)
{
   PLIMAGE plimage;
	
	assert(XSize>0 && YSize>0);
	
   plimage = (PLIMAGE)malloc(sizeof(LIMAGE));
   plimage->xsize=XSize;
   plimage->ysize=YSize;
	
   /* Allocate memory */
   if(!LImageBufferAlloc(plimage)){
      return NULL;
   }
	else{
		return plimage; 
	}
}

/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
PFIMAGE FImageAlloc(int XSize, int YSize)
{
   PFIMAGE pfimage;
	
	assert(XSize>0 && YSize>0);
	
   pfimage = (PFIMAGE)malloc(sizeof(FIMAGE));
   pfimage->xsize=XSize;
   pfimage->ysize=YSize;
	
   /* Allocate memory */
   if(!FImageBufferAlloc(pfimage)){
      return NULL;
   }
	else{
		return pfimage; 
	}
}


/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*/	
/* Adapted from G.Davis Baseline Wavelet Transform Coder Construction Kit		*/
/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/

/*----------------------------------------------------------------------------*/	
/*----------------------------------------------------------------------------*/	
PIMAGE ReadPGM(char *PGMFileName)
{
	FILE *fp;			//圖像的文件名
	PIMAGE pimage;	//pgm圖像的數(shù)據(jù)存放空間
	unsigned char ch=' ';
	char ftype;			//pgm的類型
	int MaxG;			//圖像的最大灰度值
	//分配圖像數(shù)據(jù)的內(nèi)存空間
	pimage=(PIMAGE)malloc(sizeof(IMAGE));
	if (pimage==NULL){
		return NULL;
	}
	//打開指定路徑的pgm圖像
	if ((fp=fopen(PGMFileName, "rb"))==NULL){
		free(pimage);
		return NULL;
	}
	
	//處理文件頭信息
	while ((ch != 'P') && (ch != '#')){ 
		ch = fgetc(fp);
	}
	
	//跳過圖像信息部分
	PGMSkipComments(fp, &ch);

	//提取所支持的文件類型:這里僅支持P5類型
	ftype = fgetc(fp);
	//異常處理
	if (ftype != '5'){
		ImageWarning("Only binary PGM is supported.\n");
		free(pimage);
		fclose(fp);
		return NULL;
	}
	//獲取圖像的寬、高數(shù)值
	pimage->xsize=(int)PGMGetVal(fp);
	pimage->ysize=(int)PGMGetVal(fp);
	//獲取圖像灰度值的最大值
	MaxG=(int)PGMGetVal(fp);
	
	//分配圖像數(shù)據(jù)的內(nèi)存空間
	if(!ImageBufferAlloc(pimage)){
		free(pimage);
		return NULL;
	}
	
	//從文件尾開始的指針偏移,以避免讀取無用的圖像附加信息
	fseek(fp, -1*pimage->xsize * pimage->ysize, SEEK_END);

	//加載圖像數(shù)據(jù)
	if (fread(pimage->pixel[0], sizeof(unsigned char),
		pimage->xsize*pimage->ysize, fp) != (unsigned int)pimage->xsize*pimage->ysize){
		fclose(fp);
		ImageBufferFree(pimage);
		free(pimage);
		return NULL;
	}
	else{
		fclose(fp);
		return pimage;
	}
}

/*----------------------------------------------------------------------------*/	
/*----------------------------------------------------------------------------*/	
PFIMAGE ReadPGMToFloat(char *PGMFileName)
{
	FILE *fp;			//圖像的文件名
	PIMAGE pimage;	//pgm圖像的數(shù)據(jù)存放空間
	PFIMAGE pfimage;	//圖像數(shù)據(jù)的浮點存放空間
	unsigned char ch=' ';
	char ftype;			//pgm的類型
	int MaxG,i;			//圖像的最大灰度值
	//分配圖像數(shù)據(jù)的內(nèi)存空間
	pimage=(PIMAGE)malloc(sizeof(IMAGE));
	if (pimage==NULL){
		return NULL;
	}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩国产中文| 中文字幕亚洲区| 欧美精品aⅴ在线视频| 午夜精品久久一牛影视| 一区二区在线免费| 亚洲精选在线视频| 一个色在线综合| 亚洲国产视频一区二区| 亚洲福利视频三区| 日日噜噜夜夜狠狠视频欧美人 | 樱花草国产18久久久久| 中文字幕一区二区三区四区不卡 | 国产激情视频一区二区在线观看| 成人欧美一区二区三区| 国产精品理伦片| 91精品国产综合久久福利软件| 粉嫩av一区二区三区粉嫩| 国产成人亚洲综合a∨猫咪| 国产成人精品免费一区二区| 国产宾馆实践打屁股91| 蜜桃视频在线一区| 麻豆精品一区二区三区| 亚洲777理论| 日本欧美肥老太交大片| 亚洲一区二区综合| 日本不卡视频在线观看| 亚洲精品国产精华液| 国产欧美日韩视频在线观看| 国产精品网站在线观看| 亚洲国产综合色| 亚洲精品高清视频在线观看| 午夜电影久久久| 精品亚洲国内自在自线福利| 午夜av一区二区| 国产一区二区看久久| 成人av在线网| 欧美精品视频www在线观看| 欧美电视剧在线看免费| 亚洲欧洲日韩在线| 1区2区3区欧美| 日韩二区三区在线观看| 成人av免费网站| 欧美绝品在线观看成人午夜影视| 欧美优质美女网站| 精品美女在线观看| 亚洲欧美另类久久久精品| 日韩福利视频导航| 99久久婷婷国产综合精品电影| 成人午夜私人影院| 欧美电影影音先锋| 欧美一区二区视频在线观看2022| 欧美一区二区视频观看视频| 国产精品乱人伦| 日韩不卡一区二区三区| av中文字幕不卡| 99久久久无码国产精品| 91麻豆精品国产91久久久久久 | 美女在线视频一区| 99亚偷拍自图区亚洲| 日韩一区二区三免费高清| 国产精品女上位| 日本欧美加勒比视频| 99久久精品久久久久久清纯| 99免费精品在线观看| 欧美一区二区网站| 亚洲美女在线国产| 国产精品99久久久久久久女警 | 亚洲视频你懂的| 亚洲视频电影在线| 久久av老司机精品网站导航| 国产乱色国产精品免费视频| 国产成人午夜精品影院观看视频 | 日韩国产在线一| aaa亚洲精品| 久久久久久久综合色一本| 丝袜美腿亚洲一区| 在线观看国产日韩| 国产精品久久久久久久久久久免费看| 亚洲欧美影音先锋| 国产很黄免费观看久久| 91精品国产手机| 亚洲专区一二三| 99久久免费国产| 国产精品色哟哟网站| 国产一区二区成人久久免费影院| 波多野结衣一区二区三区| 色狠狠桃花综合| 国产精品日日摸夜夜摸av| 久久国产视频网| 欧美一卡二卡三卡四卡| 天堂va蜜桃一区二区三区漫画版| 国产一区二区视频在线| 欧美一级二级三级乱码| 五月婷婷激情综合| 91成人免费在线视频| 国产精品高潮呻吟| 亚洲电影一级黄| 欧美综合一区二区三区| 亚洲欧美一区二区三区极速播放| 日本不卡一区二区三区高清视频| 国产高清成人在线| 欧美在线观看视频在线| 一区二区三区中文在线观看| 91蜜桃网址入口| 中文字幕亚洲在| 激情综合色综合久久综合| 99在线精品观看| 日韩精品一区二区三区中文不卡| 久久欧美一区二区| 激情伊人五月天久久综合| 久久综合色综合88| 一级做a爱片久久| 欧洲一区在线电影| 亚洲自拍偷拍欧美| 丁香婷婷深情五月亚洲| 日韩一级免费观看| 精品亚洲aⅴ乱码一区二区三区| 色诱视频网站一区| 亚洲一区二区三区四区在线免费观看| 狠狠网亚洲精品| 久久久久久日产精品| 成年人国产精品| 一区二区在线观看视频| 国产伦精品一区二区三区视频青涩 | 亚洲欧美在线观看| 在线视频一区二区三区| 国产精品区一区二区三区| 成人av电影在线网| 一区二区三区四区乱视频| 欧美老女人在线| 一片黄亚洲嫩模| 欧美一二三四区在线| 国产精品 日产精品 欧美精品| 欧美一区二区在线视频| 欧美成人女星排行榜| 精品在线你懂的| 国产欧美日韩亚州综合 | 亚洲高清中文字幕| 欧美一区二区三区的| 国产老女人精品毛片久久| 91精品国产一区二区三区蜜臀 | 亚洲情趣在线观看| 欧美一区二区福利视频| 婷婷中文字幕综合| 久久午夜国产精品| 日本乱人伦aⅴ精品| 最新中文字幕一区二区三区| 欧美三级韩国三级日本三斤| 蜜桃视频免费观看一区| 在线不卡一区二区| 国产成人精品免费网站| 午夜久久久久久久久久一区二区| 91成人免费在线视频| 激情伊人五月天久久综合| 亚洲激情一二三区| 久久久精品国产免大香伊| 在线观看网站黄不卡| 国产河南妇女毛片精品久久久| 日本一区二区三区在线观看| 欧美三级视频在线| 亚洲国产成人av| 中文字幕精品在线不卡| 91精品婷婷国产综合久久性色 | 亚洲午夜久久久久久久久电影网 | 久久欧美中文字幕| 欧美色图12p| 91尤物视频在线观看| 亚洲欧美另类图片小说| 精品91自产拍在线观看一区| 日本电影亚洲天堂一区| 国产盗摄视频一区二区三区| 天天操天天色综合| 亚洲欧美经典视频| 国产女人18毛片水真多成人如厕| 白白色亚洲国产精品| 亚洲免费观看高清完整| 国产三级欧美三级| 精品美女一区二区三区| 欧美人牲a欧美精品| 91久久久免费一区二区| 成人免费不卡视频| 国产美女久久久久| 久久国内精品自在自线400部| 国产网站一区二区| 91久久免费观看| 国产成人aaa| 韩国av一区二区三区| 免费看欧美女人艹b| 五月天激情综合| 精品国产成人在线影院| 777欧美精品| 欧美中文一区二区三区| 99久久国产综合精品女不卡| 丝袜a∨在线一区二区三区不卡| 精品精品国产高清a毛片牛牛 | 日本美女视频一区二区| 亚洲444eee在线观看| 一级日本不卡的影视| 一区二区三区中文在线观看| 成人黄色a**站在线观看|