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

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

?? intdwt97.cpp

?? 二維小波變換算法實現(xiàn)壓縮解壓的程序
?? CPP
字號:
// LiftDwt.cpp: implementation of the CLiftDwt class.
//   
//
//  使用帶參數(shù)的9-7小波濾波器進行的整數(shù)小波變換,采用了參數(shù)9-7小波濾波器的提升格式,但是當參數(shù)為0.5時候,提升格式不同,因此,此程序中參數(shù)選擇范圍不能包括0.5
//  
//
//
//
//
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "IntDwt97.h"
#include "math.h"

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

// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CIntDwt97::CIntDwt97()
{
	p_t = 0.75;
	shift = 4;
	filterset(p_t);  // 設置濾波器的系數(shù)
}

CIntDwt97::~CIntDwt97()
{
	delete []h;
	delete []h1;
}

void CIntDwt97::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 [nheight];	 
	   pbuffer2 = new int [nwidth];
       //行變換
	   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<nwidth; i++)
				 *(buffer+i*width+j) = *(pbuffer2+i);
		}
		delete []pbuffer2;
	}
}

void CIntDwt97::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 CIntDwt97::Dwt1D(int *buffer, int buflen)
{
	int i;
	int itemp;

	int *d, *s, *p;
	p = new int [buflen+2*shift];
	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);
	/* 數(shù)據(jù)延拓結束  計算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);	
	/* 數(shù)據(jù)延拓結束  計算p1 = d1          p2 = s1 */

	for (i=0; i<(buflen>>1)+shift; i++)
	{
		itemp = i-(shift>>1);
		*(d+i) = *(p+shift+2*itemp+1) + int(floor(p_alfa*( *(p+shift+2*itemp)+*(p+shift+2*itemp+2))+0.5));
	}

	for (i=0; i<(buflen>>1)+shift-1; i++)
	{
		itemp = i+1-(shift>>1);
		*(s+i+1) = *(p+shift+2*itemp) + int(floor( p_beta*( *(d+i+1)+*(d+i+1-1) )+0.5));
	}
   /*  d1 s1 計算結束 下計算 d2  */
	for (i=0; i<(buflen>>1)+shift-1; i++)
	{
		//itemp = i-(shift>>1);
		*(p+shift+(buflen>>1)+i) =  *(d+i) + int(floor(p_gama*( *(s+i)+*(s+i+1))+0.5)); 
	}
	/*  s2 */
    for (i=0; i<(buflen>>1)+shift-1; i++)
	{
	//	itemp = i-(shift>>1);
		*(p+i+1) = *(s+i+1) + int(floor(p_delta*(*(p+(buflen>>1)+shift+i+1) + *(p+(buflen>>1)+shift+i+1-1) )+0.5));
	}

	/* d3 */
	for (i=0; i<(buflen>>1); i++)
		*(d+i) = *(p+i+(buflen>>1)+shift+(shift>>1)) + int(floor(p_kesa*(1-p_kesa)*(*(p+i+(shift>>1)))+0.5));
	/* s3 */
	for (i=0; i<(buflen>>1); i++)
		*(s+i) = *(p+i+(shift>>1)) -int(floor(1/p_kesa*(*(d+i))+0.5));
    /* d4 */
	for (i=0; i<(buflen>>1); i++)
		*(buffer+i+(buflen>>1)) = *(d+i) +int(floor((p_kesa-1)*(*(s+i))+0.5));

	/* s4 */
	for (i=0; i<(buflen>>1); i++)
		*(buffer+i) = *(s+i) + *(buffer+i+(buflen>>1));

/*	for (i=0; i<(buflen>>1); i++){
   *(buffer+i) = p_kesa*(*(p+i+(shift>>1)));  
 	 *(buffer+i+(buflen>>1)) = 1/p_kesa*(*(p+i+(buflen>>1)+shift+(shift>>1)));	
	}
*/
    delete []p;
	delete []d;
	delete []s;
    
}

void CIntDwt97::IDwt1D(int *buffer, int buflen)
{
	int i;
    int *p1, *p2, *s, *d;
	p1 = new int [(buflen>>1)+shift];
	p2 = new int [(buflen>>1)+shift];
	s  = new int [(buflen>>1)+shift];
	d  = new int [(buflen>>1)+shift];

  
   /* s3 */
   for (i=0; i<(buflen>>1); i++)
	   *(s+i) = *(buffer+i) - *(buffer+i+(buflen>>1));
   /* d3 */
   for (i=0; i<(buflen>>1); i++)
	   *(d+i) =*(buffer+i+(buflen>>1))- int(floor((p_kesa-1)*(*(s+i))+0.5));
   /*  s2 */
   for (i=0; i<(buflen>>1); i++)
	   *(buffer+i) = *(s+i) + int(floor((1/p_kesa)*(*(d+i))+0.5));
   /*  d2 */
   for (i=0; i<(buflen>>1); i++)
	   *(buffer+i+(buflen>>1)) = *(d+i) - int(floor(p_kesa*(1-p_kesa)*(*(buffer+i))+0.5));


   /*    延拓方式為周期延拓     /*
	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++)
	   *(s+i+1) = *(p1+i+1) - int(floor(p_delta*( *(p2+i+1) + *(p2+i+1-1))+0.5));
   /*  d1 */
   for (i=0; i<(buflen>>1)+shift-1; i++)
	   *(d+i) = *(p2+i) - int(floor(p_gama*(*(s+i) + *(s+i+1))+0.5));
    /* p1 = s0 */
   for (i=0; i<(buflen>>1)+shift-1; i++)
	   *(p1+i+1) = *(s+i+1) - int(floor(p_beta*( *(d+i+1)+*(d+i+1-1))+0.5));
   /*  p2 = d0 */
   for (i=0; i<(buflen>>1)+shift-1; i++)
	   *(p2+i) = *(d+i) - int(floor(p_alfa*(*(p1+i) + *(p1+i+1))+0.5));

   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;
}

void CIntDwt97::filterset(double t)
{
	h = new double [9];
	h1 = new double [7];
	*h = (8*t*t*t-6*t*t+3*t)/(1+2*t)*(1/32.)*sqrt(2);
	*(h+1) = (-16*t*t*t+20*t*t-12*t+3)/(1+2*t)*(1/32.)*sqrt(2);
	*(h+2) = (2*t-3)/(1+2*t)*(1/8.)*sqrt(2);
	*(h+3) = (16*t*t*t-20*t*t+28*t+5)/(1+2*t)*(1/32.)*sqrt(2);
	*(h+4) = (-8*t*t*t+6*t*t+5*t+20)/(1+2*t)*(1/16.)*sqrt(2);
	*(h+5) = *(h+3);
	*(h+6) = *(h+2);
	*(h+7) = *(h+1);
	*(h+8) = *(h+0);

	double r0, r1, s0, t0;
	r0 = (*(h+4))-2*(*h)*(*(h+3))/(*(h+1));
	r1 = (*(h+2))-(*h)-(*h)*(*(h+3))/(*(h+1));
	s0 = (*(h+3))-(*(h+1))-(*(h+1))*r0/r1;
	t0 = r0-2*r1;

	p_alfa = (*h)/(*(h+1));
	p_beta = (*(h+1))/r1;
	p_gama = r1/s0;
	p_delta = s0/t0;
	p_kesa = t0;


}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品第1页| 91九色最新地址| 暴力调教一区二区三区| 在线不卡中文字幕| 中文字幕一区二区三区在线不卡 | 日韩一区二区三区三四区视频在线观看| 欧美电影免费观看完整版| 亚洲蜜桃精久久久久久久| 国产精品综合av一区二区国产馆| 欧洲国内综合视频| 1024成人网| 国产宾馆实践打屁股91| 精品国产第一区二区三区观看体验| 一区二区三区国产精华| 成人小视频在线观看| 久久五月婷婷丁香社区| 日韩电影一区二区三区四区| 欧美亚洲禁片免费| 亚洲午夜免费视频| 91麻豆成人久久精品二区三区| 久久久久久久精| 精品一区二区三区免费观看| 欧美一区二区三区在线| 亚洲国产日产av| 欧美少妇xxx| 香蕉久久一区二区不卡无毒影院| 欧美在线999| 亚洲精品国产品国语在线app| 一本大道综合伊人精品热热| 中文字幕一区二区三区四区不卡| av在线这里只有精品| 国产精品私人影院| 色婷婷综合久色| 一区二区日韩av| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 91福利在线观看| 亚洲免费电影在线| 欧美中文字幕亚洲一区二区va在线| 国产精品视频你懂的| fc2成人免费人成在线观看播放| 中文字幕一区二区三中文字幕| 99精品视频免费在线观看| 亚洲免费在线视频| 欧美日韩精品一区视频| 日韩一区精品视频| 久久网站热最新地址| 成人高清视频在线| 一区二区三区日韩| 91精品国产91久久久久久最新毛片| 日日夜夜一区二区| 国产丝袜在线精品| 日本二三区不卡| 天天色 色综合| 久久久精品影视| 色哟哟欧美精品| 免费的成人av| 国产精品伦理一区二区| 欧美丝袜丝nylons| 国产一区二区三区电影在线观看 | 亚洲精品一区二区三区香蕉| 成年人午夜久久久| 无码av免费一区二区三区试看 | 亚洲免费观看高清在线观看| 制服丝袜在线91| 成人免费的视频| 午夜婷婷国产麻豆精品| 国产亚洲欧美一级| 欧美视频一区二| 国产**成人网毛片九色| 天天综合日日夜夜精品| 国产精品麻豆视频| 日韩欧美色电影| 欧美性一区二区| 风间由美一区二区av101| 亚洲国产欧美日韩另类综合| 久久亚洲私人国产精品va媚药| 日本高清不卡在线观看| 国产高清一区日本| 免费亚洲电影在线| 亚洲午夜国产一区99re久久| 国产日韩欧美电影| 日韩精品一区二区三区四区| 欧洲精品一区二区| jlzzjlzz亚洲女人18| 国产精品小仙女| 日本亚洲电影天堂| 性做久久久久久免费观看欧美| 国产精品国产三级国产| 国产日韩欧美激情| 精品电影一区二区三区| 欧美一区二区三区的| 在线观看视频一区二区欧美日韩| 高清国产午夜精品久久久久久| 蜜臀av一区二区三区| 亚洲不卡av一区二区三区| 亚洲精品中文在线观看| 欧美国产亚洲另类动漫| 久久久久亚洲综合| 2021国产精品久久精品| 日韩精品中午字幕| 欧美一二三区在线观看| 717成人午夜免费福利电影| 欧美综合久久久| 欧美视频一二三区| 欧美午夜电影网| 欧美日韩成人在线| 欧美日韩一二区| 777午夜精品免费视频| 欧美日高清视频| 欧美高清视频在线高清观看mv色露露十八| 91美女在线看| 91九色02白丝porn| 欧美老年两性高潮| 91精品国产91综合久久蜜臀| 日韩一区二区三区在线观看| 欧美大片在线观看| 久久亚洲精华国产精华液| 久久婷婷久久一区二区三区| 久久精品夜色噜噜亚洲a∨| 国产欧美日本一区视频| 亚洲国产精品传媒在线观看| 国产精品午夜在线| 亚洲一区在线观看免费观看电影高清| 一区二区三区小说| 日韩中文字幕1| 久久66热re国产| 成人在线视频首页| 色成年激情久久综合| 91精品国产综合久久久久久久| 欧美一区二区日韩一区二区| 久久久另类综合| 亚洲免费观看高清完整版在线 | 国产永久精品大片wwwapp| 国产精品18久久久| 91高清视频在线| 日韩精品专区在线| 中文字幕一区二区日韩精品绯色 | 亚洲视频一区在线| 五月天婷婷综合| 国产精品99久久久久久似苏梦涵| 国产成人在线视频免费播放| 色婷婷亚洲综合| 制服丝袜成人动漫| 色8久久精品久久久久久蜜| 91精品国产高清一区二区三区| 欧美经典一区二区| 亚洲一卡二卡三卡四卡无卡久久| 久久se精品一区二区| 一本久久a久久免费精品不卡| 日韩欧美一级精品久久| 国产精品的网站| 免费高清不卡av| 日本韩国精品一区二区在线观看| 精品欧美久久久| 一区二区视频在线| 国产综合色精品一区二区三区| 成人黄色网址在线观看| 91精品国产一区二区| 亚洲人一二三区| 国产一区免费电影| 精品视频资源站| 亚洲日穴在线视频| 国产一区在线观看麻豆| 9191国产精品| 亚洲女同女同女同女同女同69| 极品少妇xxxx精品少妇| 日本黄色一区二区| 亚洲国产岛国毛片在线| 日本欧美久久久久免费播放网| 色综合天天综合网天天看片| 久久精品视频免费| 精品影视av免费| 91精品国产91久久久久久一区二区| 中文字幕在线一区二区三区| 国模娜娜一区二区三区| 538prom精品视频线放| 一区二区视频在线看| 99久久夜色精品国产网站| 久久久久久毛片| 国产在线不卡一区| 日韩欧美高清一区| 男人操女人的视频在线观看欧美| 91久久一区二区| 一区二区三区日韩| 色狠狠一区二区| 亚洲综合色丁香婷婷六月图片| 97国产精品videossex| 国产精品美女久久福利网站| 成人性色生活片| 国产精品久久夜| av电影天堂一区二区在线| 国产欧美日本一区视频| 成人深夜在线观看| 国产精品久久久久四虎| av综合在线播放| 亚洲欧美日韩电影| 欧美系列一区二区| 午夜精品久久久久影视| 日韩视频在线观看一区二区| 免费观看在线色综合|