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

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

?? bindwt97.cpp

?? 二維小波變換算法實現壓縮解壓的程序
?? CPP
字號:
// LiftDwt.cpp: implementation of the CLiftDwt class.
//  此程序為二進制9-7小波提升格式的變換,算法中只有整數加法和移位
//  程序中了使用的小波濾波器為2000年 IEEE Image Pro. 上的一篇介紹jpeg2000無損壓縮中的9-7小波濾波器,//  它其實是對cdf9-7提升格式中的幾個系數直接作二進制近似的到的
//
//  程序包括以下部分: 
//
//  Dwt2D(double buffer[], int height, int width, int lv) 二維提升小波變換,buffer進行變換的數據,he//  ight,width數據的尺寸,lv小波分解的層數
//  IDwt2D(double buffer[], int height, int width, int lv) 二維提升小波反變換
//  
//  Dwt1D(double *buffer, int buflen)  一維提升小波分解 buflen 數據的長度
//  IDwt1D(double *buffer, int buflen) 
//   
//
//  數據延拓方式有兩種: 周期延拓和對稱延拓
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
//#include "ImgPro.h"
#include "BinDwt97.h"
#include "math.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//#define MAX(x,y) (x>y?x:y)
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CBinDwt97::CBinDwt97()
{
	shift = 4;
}

CBinDwt97::~CBinDwt97()
{

}

void CBinDwt97::Dwt2D(int *buffer, int height, int width, int lv)
{
	int i,j,k;
 	int nheight,nwidth;
	int *pbuffer1,*pbuffer2;
 
	for ( k=0; k<lv; k++)
	{
       nheight=height>>k;
	   nwidth=width>>k;

	   pbuffer1 = new int [nwidth];	 
	   pbuffer2 = new int [nheight];
      
	   //行變換
	   for (i=0; i<nheight; i++)
		{
			for(j=0; j<nwidth; j++)
				*(pbuffer1+j) = *(buffer+i*width+j);
			
			Dwt1D(pbuffer1,nwidth);
			
			for(j=0; j<nwidth; j++)
				 *(buffer+i*width+j) = *(pbuffer1+j);
		}
		delete []pbuffer1;
      
		//列變換
		for(j=0; j<nwidth; j++)
		{
			for (i=0; i<nheight; i++)
				*(pbuffer2+i)= *(buffer+i*width+j);

			Dwt1D(pbuffer2,nheight);
			
			for(i=0; i<nheight; i++)
				 *(buffer+i*width+j) = *(pbuffer2+i);
		}
	
	  delete []pbuffer2;
	}

}

void CBinDwt97::IDwt2D(int *buffer, int height, int width, int lv)
{

	int i,j,k;
 	int nheight,nwidth;
	int *pbuffer1,*pbuffer2;
	  
	for (k=0; k<lv; k++)
	{
		nheight=height>>(lv-k-1);
 		nwidth=width>>(lv-k-1);
	    
		pbuffer1 = new int [nheight];	 
	    pbuffer2 = new int [nwidth];
        
		//列反變換
		for(j=0; j<nwidth; j++)
		{
 			for (i=0; i<nheight; i++)
 				*(pbuffer1+i) =  *(buffer+i*width+j);
 		
			IDwt1D(pbuffer1,nheight);
 			
			for(i=0; i<nheight; i++)
 				 *(buffer+i*width+j) = *(pbuffer1+i);
 		}
 		delete []pbuffer1;
 
        //行反變換
	
 		for (i=0; i<nheight; i++)
		{
 			for(j=0; j<nwidth; j++)
 				*(pbuffer2+j)=*(buffer+i*width+j);
 			IDwt1D(pbuffer2,nwidth);
 			for(j=0; j<nwidth; j++)
 				 *(buffer+i*width+j) = *(pbuffer2+j);
 		}
		delete []pbuffer2;
 	}
	

}

void CBinDwt97::Dwt1D(int *buffer, int buflen)
{
	int i;
	int itemp;
	int data_tmp;

	int *d, *s, *p;
	p = new int [buflen+(shift<<1)];
	d = new int [(buflen>>1)+shift];
	s = new int [(buflen>>1)+shift];

/*    使用周期延拓方式	*/
/*	for (i=0; i<shift; i++){
		*(p+i) = *(buffer+buflen-shift+i);
		*(p+buflen+shift+i) = *(buffer+i);
	}
	for (i=0; i<buflen; i++) *(p+i+shift) = *(buffer+i);
/* 數據周期延拓結束  計算p1 = d1          p2 = s1 */

	/*  對稱延拓 */
	for (i=0; i<shift; i++)
	{
		*(p+i) = *(buffer+shift-i);
		*(p+buflen+shift+i) = *(buffer+buflen-i-2);
	}
	for (i=0; i<buflen; i++) *(p+i+shift) = *(buffer+i);
    /*  結束  */



	for (i=0; i<(buflen>>1)+shift; i++)
	{
		itemp = i-(shift>>1);
		data_tmp = - (*(p+shift+(itemp<<1)+2) + *(p+shift+(itemp<<1)));
		*(d+i) = *(p+shift+(itemp<<1)+1) + data_tmp + (data_tmp>>1) + (data_tmp>>4) + (data_tmp >>6) + (data_tmp >>7);
	}

	for (i=0; i<(buflen>>1)+shift-1; i++)
	{
		itemp = i+1-(shift>>1);
		data_tmp = -(*(d+i+1) + *(d+i));
        *(s+i+1) = *(p+shift+(itemp<<1)) + (data_tmp >>5) +(data_tmp >>6) + (data_tmp >>8) + (data_tmp >>9) + (data_tmp >>12);
	}
   /*  d1 s1 計算結束 下計算 d2  */
	for (i=0; i<(buflen>>1)+shift-1; i++)
	{
		data_tmp = *(s+i) + *(s+i+1);
        *(p+shift+(buflen>>1)+i) = *(d+i) + (data_tmp>>1) + (data_tmp >>2) + (data_tmp >>3) + (data_tmp >>7);
	}

	/*  s2 */
    for (i=0; i<(buflen>>1)+shift-1; i++)
	{
		data_tmp = *(p+(buflen>>1)+shift+i+1) + *(p+(buflen>>1)+shift+i);
		*(p+i+1) = *(s+i+1) + (data_tmp >>2) + (data_tmp >>3) + (data_tmp >>4) + (data_tmp >>8) + (data_tmp >>9) + (data_tmp >>12);
	}

	///  存在冗余計算
	for (i=0; i<(buflen>>1); i++)
		*(buffer+i+(buflen>>1)) = *(p+shift+(buflen>>1) + (shift>>1) +i);

	for (i=0; i<(buflen>>1); i++)
		*(buffer+i) = *(p + (shift>>1) + i);

    delete []p;
	delete []d;
	delete []s;
    
}

void CBinDwt97::IDwt1D(int *buffer, int buflen)
{
	int i;
    int *p1, *p2, *s, *d;
	int data_tmp;

	p1 = new int [(buflen>>1)+shift];
	p2 = new int [(buflen>>1)+shift];
	s  = new int [(buflen>>1)+shift];
	d  = new int [(buflen>>1)+shift];

/*    延拓方式為周期延拓     /*
	for (i=0; i<(shift>>1); i++){
		p1[i] = buffer[i+(buflen>>1)-(shift>>1)];
		p1[i+(shift>>1)+(buflen>>1)] = buffer[i];
		p2[i] = buffer[i+buflen-(shift>>1)];
		p2[i+(shift>>1)+(buflen>>1)] = buffer[i+(buflen>>1)];
	}
	for (i=0; i<(buflen>>1); i++){
		p1[i+(shift>>1)] = buffer[i];
		p2[i+(shift>>1)] = buffer[i+(buflen>>1)];
	}

/*  延拓結束 */	

	/*  對稱延拓	*/
   	for (i=0; i<(shift>>1); i++)
	{
		p1[i] = buffer[(shift>>1)-i];
		p1[i+(shift>>1)+(buflen>>1)] = buffer[(buflen>>1)-i-1];
		p2[i] = buffer[(buflen>>1)+(shift>>1)-i-1];
		p2[i+(shift>>1)+(buflen>>1)] = buffer[buflen-i-2];
	}
	for (i=0; i<(buflen>>1); i++)
	{
		p1[i+(shift>>1)] = buffer[i];
		p2[i+(shift>>1)] = buffer[i+(buflen>>1)];
	}
/*   對稱延拓結束  */

 
	
	/*  s1  */
	for (i=0; i<(buflen>>1)+shift-1; i++)
	{
	   data_tmp = *(p2+i+1) + *(p2+i/*+1-1*/);
       *(s+i+1) = *(p1+i+1) - ((data_tmp >>2) + (data_tmp >>3) + (data_tmp >>4) + (data_tmp >>8) + (data_tmp >>9) + (data_tmp >>12));
	}
   /*  d1 */
	for (i=0; i<(buflen>>1)+shift-1; i++)
	{
		data_tmp = *(s+i) + *(s+i+1);
        *(d+i) = *(p2+i) - ((data_tmp>>1) + (data_tmp >>2) + (data_tmp >>3) + (data_tmp >>7));
	}

    /* p1 = s0 */
	for (i=0; i<(buflen>>1)+shift-1; i++)
	{
		data_tmp = -(*(d+i+1)+*(d+i/*+1-1*/));
		*(p1+i+1) = *(s+i+1) - ((data_tmp >>5) +(data_tmp >>6) + (data_tmp >>8) + (data_tmp >>9) + (data_tmp >>12));
	}

   /*  p2 = d0 */
	for (i=0; i<(buflen>>1)+shift-1; i++)
	{
		data_tmp = - (*(p1+i) + *(p1+i+1));
		*(p2+i) = *(d+i) - (data_tmp + (data_tmp>>1) + (data_tmp>>4) + (data_tmp >>6) + (data_tmp >>7));
	}

   for (i=0; i<(buflen>>1); i++)
   {
	   *(buffer+2*i) = *(p1+i+(shift>>1)) ;
	   *(buffer+2*i+1) = *(p2+i+(shift>>1));
   }


	delete []p1;
	delete []p2;
	delete []s;
	delete []d;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩黄色小视频| 亚洲国产成人va在线观看天堂| 欧美私模裸体表演在线观看| 99vv1com这只有精品| 粉嫩av一区二区三区粉嫩| 国产一区二区免费在线| 极品瑜伽女神91| 开心九九激情九九欧美日韩精美视频电影| 亚洲 欧美综合在线网络| 亚洲超丰满肉感bbw| 亚洲va在线va天堂| 男人操女人的视频在线观看欧美 | 国产农村妇女毛片精品久久麻豆 | av毛片久久久久**hd| 成人黄色国产精品网站大全在线免费观看| 国产乱码精品一区二区三区五月婷| 久久99日本精品| 国产精品18久久久久久久网站| 欧美性淫爽ww久久久久无| 欧美色精品在线视频| 宅男在线国产精品| 久久亚洲二区三区| 国产精品对白交换视频| 亚洲综合色网站| 裸体健美xxxx欧美裸体表演| 国产露脸91国语对白| 91一区二区在线观看| 欧美日韩国产小视频| 欧美精品一区男女天堂| 亚洲三级电影网站| 日本成人在线电影网| 夫妻av一区二区| 在线免费不卡视频| 久久久精品国产99久久精品芒果 | 一区二区三区美女| 免费观看在线色综合| 99精品欧美一区二区三区综合在线| 欧美日韩在线播| 国产日韩欧美高清| 日韩高清一级片| 东方aⅴ免费观看久久av| 91福利在线播放| 日本一区二区三区高清不卡| 亚洲高清久久久| 丰满岳乱妇一区二区三区| 欧美性受xxxx黑人xyx| 欧美高清在线精品一区| 免费成人性网站| 在线观看亚洲专区| 欧美激情资源网| 青青草97国产精品免费观看无弹窗版| 99精品视频在线免费观看| 精品久久久久久综合日本欧美| 一区二区三区日韩| 成人综合在线观看| 久久在线免费观看| 免费美女久久99| 欧洲一区二区av| 亚洲色图制服丝袜| 成人av网站在线观看免费| 精品福利一区二区三区| 天天影视网天天综合色在线播放| 99视频一区二区| 久久精品视频一区| 国产资源在线一区| 欧美精品一区男女天堂| 蜜臀av一区二区三区| 日韩一级片网站| 琪琪久久久久日韩精品| 欧美一区二区福利视频| 五月天精品一区二区三区| 欧美亚洲综合另类| 亚洲综合一二三区| 欧美三级视频在线| 亚洲777理论| 欧美一区二区三区在线电影| 性久久久久久久久| 欧美一级二级三级乱码| 日本特黄久久久高潮| 制服丝袜中文字幕一区| 日韩电影在线观看网站| 日韩三级.com| 国产在线国偷精品产拍免费yy| 久久免费午夜影院| 成人av电影在线观看| 一区二区三区四区高清精品免费观看 | 欧美电影免费观看完整版| 奇米影视一区二区三区小说| 精品国产伦一区二区三区观看体验 | 自拍偷拍国产亚洲| 欧美在线视频你懂得| 天堂一区二区在线| 久久综合色一综合色88| 成人精品视频.| 亚洲综合免费观看高清完整版在线| 欧洲另类一二三四区| 免费成人在线影院| 中文字幕一区二区三区不卡| 在线免费观看不卡av| 久草精品在线观看| 亚洲欧洲性图库| 欧美妇女性影城| 国产精品中文字幕欧美| 亚洲已满18点击进入久久| 精品久久久久99| 97久久人人超碰| 麻豆freexxxx性91精品| 国产精品丝袜一区| 在线播放视频一区| 国产91精品免费| 丝袜诱惑亚洲看片| 国产精品久久夜| 精品久久免费看| 在线视频亚洲一区| 国产又黄又大久久| 视频一区欧美日韩| ...av二区三区久久精品| 欧美精品视频www在线观看 | 亚洲蜜桃精久久久久久久| 日韩丝袜美女视频| 在线免费观看日本一区| 国产成人免费视频| 男女视频一区二区| 一区二区三区**美女毛片| 久久久久久久久久美女| 欧美日韩一区二区三区在线看| 国产大陆精品国产| 美日韩黄色大片| 无吗不卡中文字幕| 一区二区三区在线播| 欧美国产精品中文字幕| 欧美mv和日韩mv的网站| 欧美性做爰猛烈叫床潮| 99精品偷自拍| 波波电影院一区二区三区| 看片的网站亚洲| 日本不卡视频在线| 午夜国产不卡在线观看视频| 亚洲色图欧美激情| 国产精品对白交换视频| 国产女人18水真多18精品一级做| 精品久久久久久久久久久久久久久久久| 欧美优质美女网站| 欧美性淫爽ww久久久久无| 色婷婷狠狠综合| 99v久久综合狠狠综合久久| 成人少妇影院yyyy| 国产成人99久久亚洲综合精品| 久久av资源网| 国产美女视频91| 国产福利一区在线观看| 国产91精品欧美| 99久久久精品| 91蝌蚪porny| 色综合天天综合给合国产| 色综合天天综合网天天看片| 91成人网在线| 在线电影一区二区三区| 7777精品久久久大香线蕉| 日韩午夜av一区| 久久综合色播五月| 国产精品理伦片| 亚洲综合偷拍欧美一区色| 亚洲成a人片在线不卡一二三区| 国产成人精品免费在线| 国产成人精品免费一区二区| 高清shemale亚洲人妖| 波多野结衣精品在线| 色综合网站在线| 91精品国产一区二区人妖| 欧美tk丨vk视频| 亚洲国产精品激情在线观看| 亚洲免费在线看| 日韩激情一区二区| 国产精品自在欧美一区| 91亚洲大成网污www| 欧美理论电影在线| 久久蜜桃av一区精品变态类天堂| 国产精品美女久久久久久久| 亚洲女性喷水在线观看一区| 午夜欧美在线一二页| 久久精品国产精品青草| hitomi一区二区三区精品| 欧美在线播放高清精品| 精品日韩欧美一区二区| 国产精品你懂的在线| 亚洲成人tv网| 顶级嫩模精品视频在线看| 欧美福利电影网| 欧美国产精品中文字幕| 日韩专区一卡二卡| 成人91在线观看| 欧美大肚乱孕交hd孕妇| 亚洲天堂精品在线观看| 精品一区二区免费看| 色天使久久综合网天天| 久久久精品2019中文字幕之3| 亚洲一区二区三区中文字幕在线| 国产精一区二区三区| 欧美日韩综合在线|