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

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

?? fdwt.c

?? 這是我剛剛完成的關于JPEG2000的C語言實現的部分程序。小波變換是采用97變換
?? C
?? 第 1 頁 / 共 2 頁
字號:
/******************************************************************************
功能描述:
   Implements 9/7 小波變換的實現
******************************************************************************/
/*****************************************************************************/
// 程序: 小波變換
// 版本:  V0.0
// 作者: 胡運平
// 最后修改時間 : 12, 5, 2005
/****************************************************************************/
#include <stdio.h>
#include<math.h>
#include"fdwt.h"
#define debug
#define fdwt	
void dwt(float buffer[LENGTH+8][WIDTH+8],float interleave[LENGTH+8][WIDTH+8],
		 float bufferout[LENGTH+8][WIDTH+8])
{
	int i,j,level;	
	float lifting_factors[5];
	lifting_factors[0] = (float) -1.586134342;
   	lifting_factors[1] = (float) -0.052980118;
 	lifting_factors[2] = (float)  0.882911075;
   	lifting_factors[3] = (float)  0.443506852;//
	lifting_factors[4] = (float)  1.230174105;//k
/*****************************************************************************
以下完成列變換
******************************************************************************/	
	for(level = 0;level<LEVEL;level++)
	{			
		//長度擴展	
		for(i = 0;i<LENGTH/(1<<level);i++)		
		{
			buffer[i+4][0] = buffer[i+4][8];
			buffer[i+4][1] = buffer[i+4][7];
			buffer[i+4][2] = buffer[i+4][6];
			buffer[i+4][3] = buffer[i+4][5];
			//把第二次變換時的數取出防止覆蓋

			//516 =514 517= 513 518 = 512	
			buffer[i+4][WIDTH/(1<<level)+4] = buffer[i+4][WIDTH/(1<<level)+2];
			buffer[i+4][WIDTH/(1<<level)+5] = buffer[i+4][WIDTH/(1<<level)+1];
			buffer[i+4][WIDTH/(1<<level)+6] = buffer[i+4][WIDTH/(1<<level)];
			buffer[i+4][WIDTH/(1<<level)+7] = buffer[i+4][WIDTH/(1<<level)-1];
			}
		for(i = 0;i<LENGTH/(1<<level);i++)//行
		{	
			for(j =2;j<WIDTH/(1<<level)+8;j+=2)//第一步列3 5 7 9  11 13 --511 513 515 517 519 
			{//j = 2 4 6 8 --510 512 514 516 518		
				bufferout[i+4][j] =  buffer[i+4][j]+
				lifting_factors[0]*(buffer[i+4][j-1]+buffer[i+4][j+1]);//dl1奇數
			}
			for(j =3;j<WIDTH+7;j+=2)//第二步列 4 6 8 10 -- 510 512 514 516 518
			{//j = 3 5 7 9 --509 511 513 515 517
				bufferout[i+4][j] = buffer[i+4][j]+
				lifting_factors[1]*(bufferout[i+4][j-1]+bufferout[i+4][j+1]);//sl1偶數	
			}
			for(j =4;j<WIDTH/(1<<level)+6;j+=2)//第三步列5 7 9 11 -- 509 511 513 515 517 
			{//j = 4 6 8 10  -- 508 510 512 514 516
				bufferout[i+4][j] = bufferout[i+4][j]+
				lifting_factors[2]*(bufferout[i+4][j-1]+bufferout[i+4][j+1]);//dl1奇數
			}

			for(j =5;j<WIDTH/(1<<level)+5;j+=2)//第四步列 6 8 10 12 --508 510 512 514 516
			{//j = 5 7 9 11 --507 509 511 513  515
				bufferout[i+4][j] = bufferout[i+4][j]+
				lifting_factors[3]*(bufferout[i+4][j-1]+bufferout[i+4][j+1]);//sl1偶數
			}
			for(j =4;j<WIDTH/(1<<level)+4;j+=2)//第五步列 5 7 9 11 -- 509 511 513 515 517
			{//j = 4 6 8 10 -- 508 510 512 514 516
				bufferout[i+4][j] = -lifting_factors[4]*bufferout[i+4][j];
			}
			for(j =5;j<WIDTH/(1<<level)+5;j+=2)//第六步列 6 8 10 12 -- 508 510 512 514 516
			{//j = 5 7 9 11 -- 507 509 511 513 515
				bufferout[i+4][j] = bufferout[i+4][j]/lifting_factors[4];
			}
	
		}//行數從第5行開始
		 //每一列的數放入5 6 7 8 --511 512 513 514中
		 //數組中的j =  4 5 6 7 - - 510 511 512 513
/***********************************************************************
以上完成列變換,以下完成行變換
************************************************************************/
	//寬度擴展對稱延拓
		for(j = 0;j<WIDTH/(1<<level);j++)
		{
			bufferout[0][j+4] = bufferout[8][j+4];
			bufferout[1][j+4] = bufferout[7][j+4];
			bufferout[2][j+4] = bufferout[6][j+4];
			bufferout[3][j+4] = bufferout[5][j+4];
			
			//132 = 130 133=129 134 = 128
			bufferout[LENGTH/(1<<level)+4][j+4] = bufferout[LENGTH/(1<<level)+2][j+4];
			bufferout[LENGTH/(1<<level)+5][j+4] = bufferout[LENGTH/(1<<level)+1][j+4];
			bufferout[LENGTH/(1<<level)+6][j+4] = bufferout[LENGTH/(1<<level)][j+4];
			bufferout[LENGTH/(1<<level)+7][j+4] = bufferout[LENGTH/(1<<level)-1][j+4];
		}

	for(j = 0;j<WIDTH/(1<<level); j++)
	{
		for(i = 2;i<LENGTH/(1<<level)+8;i+=2)//第一步行3 5 7 9  11 13 --127 129 131 133 135
		{//j = 2 4 6 8 --126 128 130 132 134
		
			buffer[i][j+4] =  bufferout[i][j+4]+
			lifting_factors[0]*(bufferout[i-1][j+4]+bufferout[i+1][j+4]);//dl1奇數
		//	bufferout[i+4][j] =  buffer[i+4][j]+
		//	lifting_factors[0]*(buffer[i+4][j-1]+buffer[i+4][j+1]);//dl1奇數
		}


		for(i = 3;i<LENGTH/(1<<level)+7;i+=2)//第二步行 4 6 8 10 -- 126 128 130 132 134
		{//j = 3 5 7 9 --125 127 129 131 133
			buffer[i][j+4] = bufferout[i][j+4]+
			lifting_factors[1]*(buffer[i-1][j+4]+buffer[i+1][j+4]);//sl1偶數	
			//bufferout[i+4][j] = buffer[i+4][j]+
			//lifting_factors[1]*(bufferout[i+4][j-1]+bufferout[i+4][j+1]);//sl1偶數	
		}

		for(i = 4;i<LENGTH/(1<<level)+6;i+=2)//第三步行5 7 9 11 -- 125 127 129 131 133 
		{//j = 4 6 8 10  -- 124 126 128 130 132 
			buffer[i][j+4] = buffer[i][j+4]+
			lifting_factors[2]*(buffer[i-1][j+4]+buffer[i+1][j+4]);//dl1奇數
			//bufferout[i+4][j] = bufferout[i+4][j]+
			//lifting_factors[2]*(bufferout[i+4][j-1]+bufferout[i+4][j+1]);//dl1奇數
		}

		for(i = 5;i<LENGTH/(1<<level)+5;i+=2)//第四步行 6 8 10 12 --124 126 128 130 132 
		{//j = 5 7 9 11 --123 125 127 129 131 
			buffer[i][j+4] = buffer[i][j+4]+
			lifting_factors[3]*(buffer[i-1][j+4]+buffer[i+1][j+4]);//sl1偶數
			//bufferout[i+4][j] = bufferout[i+4][j]+
			//lifting_factors[3]*(bufferout[i+4][j-1]+bufferout[i+4][j+1]);//sl1偶數
		}
		for(i = 4;i<LENGTH/(1<<level)+4;i+=2)//第五步行 5 7 9 11 -- 125 127 129 131 133
		{//j = 4 6 8 10 -- 124 126 128 130 132
			buffer[i][j+4] = -lifting_factors[4]*buffer[i][j+4];
		    //bufferout[i+4][j] = -lifting_factors[4]*bufferout[i+4][j];

		}
		for(i = 5;i<LENGTH/(1<<level)+5;i+=2)//第六步行 6 8 10 12 -- 124 126 128 130 132
		{//j = 5 7 9 11 -- 123 125 127 129 131 
			buffer[i][j+4] = buffer[i][j+4]/lifting_factors[4];
			//bufferout[i+4][j] = bufferout[i+4][j]/lifting_factors[4];
		}
	
	}//每一行的數放入 5 6 7 8 --中127 128 129 130 131 132
	  //數組中的j =  4 5 6 7 - - 126 127 128 129 130 131	
/*****************************************************************************
解交織		    LL = bufferout[i+4][j+4]    //偶數行偶數列
				HL = bufferout[i+5][j+5]   //奇數行偶數列
				LH = bufferout[i+4][j+5]   //偶數行奇數列
				HH = bufferout[i+5][j+5]   //奇數行奇數列
*****************************************************************************/
		for(i = 0;i<LENGTH/(1<<(level+1));i++)//行128 0--64
		{	
			for(j = 0;j<WIDTH/(1<<(level+1));j++)//列512  00--256
			{
				interleave[i+4][j+4] = buffer[i*2+5][j*2+5];    //偶數行偶數列
				interleave[i+4][j+WIDTH/(1<<(level+1))+4] = buffer[i*2+4][j*2+5];  //奇數行偶數列
				interleave[i+LENGTH/(1<<(level+1))+4][j+4] = buffer[i*2+5][j*2+4];  //偶數行奇數列
				interleave[i+LENGTH/(1<<(level+1))+4][j+WIDTH/(1<<(level+1))+4] =
					buffer[i*2+4][j*2+4];// 奇數行奇數列				
			}		
		}
		for(i = 0;i<LENGTH/(1<<(level+1));i++)//行128 0--64
		{	
			for(j = 0;j<WIDTH/(1<<(level+1));j++)//列512  00--256
			{
				buffer[i+4][j+4] = interleave[i+4][j+4];     //偶數行偶數列	
			}		
		}
#ifdef debug
//printf("\nthe interleave number is:");
//		for(i = 0;i<LENGTH;i++)
//			for(j = 0;j<WIDTH;j++)
//			{
//				if(!j%8) printf("\n");
//				printf("%3d ",(int)(interleave[i+4][j+4]+0.5));
//			}
//		for(i = 0;i<LENGTH;i++)
//			for(j = 0;j<WIDTH;j++)
//			{

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲日本va在线观看| 亚洲成人午夜电影| 午夜视频久久久久久| 精品一区二区三区欧美| 欧美亚洲一区二区在线| 久久精品免视看| 精品中文字幕一区二区小辣椒| 色综合天天综合给合国产| 国产亚洲一二三区| 青娱乐精品视频在线| 欧美午夜电影在线播放| 一色屋精品亚洲香蕉网站| 国产suv精品一区二区6| 26uuuu精品一区二区| 久久精品国产秦先生| 欧美一级理论片| 午夜欧美大尺度福利影院在线看| bt欧美亚洲午夜电影天堂| 国产视频视频一区| 国产一区二区不卡在线 | 色噜噜狠狠成人中文综合| 久久久影院官网| 久久99国内精品| 日韩免费看的电影| 青青草国产成人99久久| 欧美一区二区三区四区视频| 亚洲h动漫在线| 欧美视频完全免费看| 亚洲黄色免费网站| 在线精品视频免费观看| 一区二区三区在线观看动漫| 在线观看免费一区| 亚洲大片在线观看| 91精品国产高清一区二区三区 | 亚洲第一久久影院| 精品视频免费在线| 亚洲电影一区二区| 欧美一级一区二区| 国产一区二区三区四区在线观看| 久久综合丝袜日本网| 国产成人精品免费| 亚洲欧洲www| 欧美亚洲动漫另类| 免费在线成人网| 精品国产91亚洲一区二区三区婷婷| 美女国产一区二区三区| 久久亚洲捆绑美女| 国产成人精品一区二区三区四区| 中文字幕 久热精品 视频在线| 成人免费av资源| 亚洲国产色一区| 欧美电影免费提供在线观看| 黄页网站大全一区二区| 国产精品超碰97尤物18| 欧美日本一区二区三区| 国产在线一区二区| 国产精品传媒入口麻豆| 欧美色图一区二区三区| 蜜臀av一区二区| 国产精品久久三| 欧美日韩一区二区三区不卡 | 久久久午夜精品理论片中文字幕| 国产精品一线二线三线| 最新国产成人在线观看| 日韩一区二区三区视频在线观看| 成人深夜视频在线观看| 香蕉成人伊视频在线观看| 国产视频911| 欧美精品日韩精品| 99综合电影在线视频| 免费日本视频一区| 亚洲三级久久久| 精品国产亚洲在线| 91精彩视频在线| 国产一区二区伦理| 亚洲国产精品一区二区久久| 久久久91精品国产一区二区三区| 色乱码一区二区三区88| 国产一区激情在线| 亚洲福中文字幕伊人影院| 国产欧美精品一区| 日韩一区国产二区欧美三区| 波多野结衣中文字幕一区| 日本不卡的三区四区五区| 中文字幕亚洲一区二区va在线| 欧美成人一区二区三区在线观看 | 亚洲一区二区三区四区在线观看 | 国产日韩成人精品| 91精品国产综合久久久久久久| 粉嫩一区二区三区性色av| 人人超碰91尤物精品国产| 一区二区三区中文在线观看| 国产日韩精品一区二区三区| 精品国产成人在线影院| 91精品午夜视频| 欧美日韩国产首页| 欧美色视频在线观看| 99国产欧美另类久久久精品 | 久久精品久久99精品久久| 亚洲愉拍自拍另类高清精品| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 久久久久97国产精华液好用吗| 欧美区视频在线观看| 91视频在线看| 91一区一区三区| 91亚洲精品乱码久久久久久蜜桃 | 秋霞影院一区二区| 亚洲gay无套男同| 亚洲午夜精品久久久久久久久| 中文字幕亚洲电影| 亚洲欧洲www| 亚洲欧美国产毛片在线| 亚洲免费视频中文字幕| 国产精品短视频| 亚洲精品视频在线看| 亚洲精品精品亚洲| 一区二区高清视频在线观看| 亚洲国产中文字幕在线视频综合 | 欧美高清性hdvideosex| 欧美日韩在线免费视频| 欧美精品视频www在线观看| 欧美一区永久视频免费观看| 欧美一区二区三区视频在线观看 | 欧美日本乱大交xxxxx| 欧美色图12p| 日韩欧美在线综合网| 久久久久88色偷偷免费| 国产精品美女一区二区在线观看| 国产精品久久免费看| 夜夜夜精品看看| 蜜臀91精品一区二区三区| 久久97超碰国产精品超碰| 国产二区国产一区在线观看| 欧美二区乱c少妇| 91精品国产综合久久国产大片| 日韩欧美色电影| 国产精品国产精品国产专区不片| 亚洲精品va在线观看| 日韩精品电影一区亚洲| 国产麻豆午夜三级精品| 99精品视频一区| 日韩欧美一区电影| 成人欧美一区二区三区在线播放| 一区二区三区精品| 极品美女销魂一区二区三区免费| 成av人片一区二区| 欧美精品精品一区| 国产午夜精品久久久久久久| 亚洲综合清纯丝袜自拍| 精彩视频一区二区| 欧美主播一区二区三区美女| 精品久久久久久久久久久久久久久久久| 久久视频一区二区| 亚洲一二三区在线观看| 国产乱码精品一区二区三区忘忧草| 色94色欧美sute亚洲13| 精品国产精品网麻豆系列| 日韩伦理av电影| 精品一区二区在线观看| 在线亚洲人成电影网站色www| 日韩欧美国产一区二区在线播放| 日韩久久一区二区| 国产一区二三区| 欧美日韩成人一区二区| 国产精品高潮呻吟久久| 韩国欧美国产1区| 精品视频在线看| 亚洲美女在线一区| 国产一级精品在线| 欧美一区永久视频免费观看| 亚洲蜜桃精久久久久久久| 国产黄色精品网站| 日韩亚洲国产中文字幕欧美| 一区二区欧美视频| 91免费看`日韩一区二区| 久久精品一区八戒影视| 蜜臀va亚洲va欧美va天堂| 精品视频资源站| 亚洲一区二区在线视频| 91麻豆蜜桃一区二区三区| 国产精品视频第一区| 国产精品99久久久久久宅男| 欧美成人一区二区三区片免费| 天堂av在线一区| 色婷婷综合久久久| 亚洲欧洲成人av每日更新| 高潮精品一区videoshd| 久久老女人爱爱| 国产精品夜夜爽| 国产夜色精品一区二区av| 国产精品亚洲а∨天堂免在线| 日韩免费高清av| 免费一区二区视频| 日韩精品一区二区三区老鸭窝| 日本强好片久久久久久aaa| 欧美日韩国产一区二区三区地区| 亚洲在线免费播放| 欧美美女直播网站| 丝袜诱惑制服诱惑色一区在线观看 | 成人高清视频在线|