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

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

?? bindwt97.cpp

?? 一個小波變換的C++代碼
?? CPP
字號:
// LiftDwt.cpp: implementation of the CLiftDwt class.
// 作者:張增輝   國防科技大學理學院數學系
// QQ:15105473   email: zenghui1980@163.com
//
//  此程序為二進制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;
 
	for ( k=0; k<lv; k++){

       nheight=height>>k;
	   nwidth=width>>k;

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

	}

}

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

	int i,j,k;
 	int nheight,nwidth;
  
	for (k=0; k<lv; k++){

 		nheight=height>>(lv-k-1);
 		nwidth=width>>(lv-k-1);

        //列反變換
		int *pdata;
		pdata = new int [nheight];
 		for(j=0; j<nwidth; j++){
 			for (i=0; i<nheight; i++)
 				*(pdata+i) = *(*(buffer+i)+j);
 			IDwt1D(pdata,nheight);
 			for(i=0; i<nwidth; i++)
 				*(*(buffer+i)+j) = *(pdata+i);
 		}
 		delete []pdata;
 
        //行反變換
		int *p1data;
		p1data = new int [nwidth];
 		for (i=0; i<nheight; i++){
 			for(j=0; j<nwidth; j++)
 				*(p1data+j)=*(*(buffer+i)+j);
 			IDwt1D(p1data,nwidth);
 			for(j=0; j<nwidth; j++)
 				*(*(buffer+i)+j) = *(p1data+j);
 		}
		delete []p1data;
 	}
	

}

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一区二区三区免费野_久草精品视频
欧美v国产在线一区二区三区| 欧美体内she精高潮| 亚洲国产成人av网| 夜夜爽夜夜爽精品视频| 国产精品天干天干在线综合| 国产女主播视频一区二区| 欧美成人vr18sexvr| 91精品免费观看| 91精品国产乱| 欧美日韩亚洲不卡| 精品视频1区2区| 51精品视频一区二区三区| 3d动漫精品啪啪1区2区免费 | 国产精品99久久久久久有的能看 | 在线看日韩精品电影| 欧美日韩一区三区| 欧美一卡在线观看| 777色狠狠一区二区三区| 欧美日韩一区国产| 69久久99精品久久久久婷婷| 精品88久久久久88久久久| 久久久综合视频| 亚洲欧美综合网| 午夜精品福利久久久| 老司机免费视频一区二区三区| 国产一区激情在线| 91在线无精精品入口| 欧美丰满嫩嫩电影| 国产女主播一区| 午夜精品一区二区三区三上悠亚| 精品一区二区三区影院在线午夜 | 91精品国产入口| 国产亲近乱来精品视频| 亚洲精品视频观看| 麻豆免费看一区二区三区| fc2成人免费人成在线观看播放| 欧美在线视频全部完| www久久精品| 亚洲国产欧美日韩另类综合| 精品一二三四区| 色一情一乱一乱一91av| 日韩精品一区二区三区四区| 国产精品国模大尺度视频| 日韩电影一二三区| 91网站黄www| wwwwxxxxx欧美| 三级亚洲高清视频| heyzo一本久久综合| 精品免费国产一区二区三区四区| 亚洲天堂免费在线观看视频| 国产专区综合网| 91麻豆精品久久久久蜜臀 | 4438成人网| 一区二区三区美女| gogogo免费视频观看亚洲一| www国产亚洲精品久久麻豆| 视频一区二区三区入口| 欧美中文字幕亚洲一区二区va在线 | 亚洲欧美偷拍三级| 国产成人精品免费网站| 日韩视频永久免费| 日韩精品电影一区亚洲| 91久久免费观看| 综合久久国产九一剧情麻豆| 国产成人av电影| 久久久国产一区二区三区四区小说| 蜜臀av性久久久久蜜臀aⅴ四虎| 在线观看日韩国产| 亚洲精品国产精品乱码不99| 91在线国产观看| 亚洲免费观看高清| 色婷婷激情久久| 亚洲精品国产无天堂网2021| 91麻豆国产在线观看| 亚洲同性同志一二三专区| 波多野结衣中文一区| 中文字幕一区二区5566日韩| 不卡视频在线看| 成人欧美一区二区三区白人| 成人久久18免费网站麻豆 | 欧美精品一区二| 国产一区日韩二区欧美三区| 国产日韩精品一区二区三区在线| 国产一区亚洲一区| 国产欧美日韩激情| 99精品一区二区三区| 亚洲免费色视频| 欧美日韩国产在线观看| 日韩激情一二三区| 精品国产百合女同互慰| 国产成人激情av| 亚洲视频一二三| 欧美精品成人一区二区三区四区| 久久99九九99精品| 国产精品久久久久久久久久久免费看 | 国产欧美一区二区精品忘忧草| 成人午夜精品在线| 亚洲欧美一区二区三区极速播放| 欧美日韩黄色一区二区| 国内精品在线播放| 亚洲青青青在线视频| 91精品国产丝袜白色高跟鞋| 国产一区二区精品在线观看| 日韩一区日韩二区| 日韩女同互慰一区二区| 国产高清不卡一区二区| 一区二区三区在线影院| 日韩欧美国产小视频| caoporn国产一区二区| 视频一区欧美精品| 国产精品国产三级国产普通话蜜臀 | 国产电影一区在线| 一区二区三区视频在线看| 欧美一二三在线| 91亚洲精华国产精华精华液| 蜜桃一区二区三区四区| 中文字幕中文字幕中文字幕亚洲无线| 在线观看网站黄不卡| 国内精品视频一区二区三区八戒 | 欧美成人官网二区| 在线免费视频一区二区| 国产福利一区在线| 蜜臀av国产精品久久久久| 亚洲日韩欧美一区二区在线| 欧美精品一区二区蜜臀亚洲| 色欧美日韩亚洲| 国产a视频精品免费观看| 日韩va欧美va亚洲va久久| 亚洲欧美另类综合偷拍| 国产日韩欧美高清| 欧美精品一区二区三区蜜臀| 欧洲精品一区二区三区在线观看| 丰满亚洲少妇av| 精品午夜一区二区三区在线观看| 亚洲精品第一国产综合野| 日本一区二区免费在线| 精品美女被调教视频大全网站| 欧美色涩在线第一页| 91免费版pro下载短视频| 国产**成人网毛片九色| 国产精品综合一区二区三区| 美女精品自拍一二三四| 偷拍日韩校园综合在线| 亚洲一卡二卡三卡四卡无卡久久| 久久九九99视频| 久久久久国产精品麻豆ai换脸| 精品噜噜噜噜久久久久久久久试看 | 精品裸体舞一区二区三区| 91.成人天堂一区| 欧美久久久久久久久中文字幕| 色婷婷久久久综合中文字幕| aaa亚洲精品一二三区| av激情亚洲男人天堂| 成人黄色国产精品网站大全在线免费观看| 精品在线观看免费| 韩国精品久久久| 国产精品亚洲第一| 懂色av一区二区在线播放| 成人免费不卡视频| 91在线丨porny丨国产| 色视频一区二区| 欧美日韩一区二区三区四区五区| 欧美日韩中文一区| 欧美日韩国产一级片| 91精品国产综合久久久久久久久久| 欧美女孩性生活视频| 91精品国产福利在线观看| 日韩女优av电影| 欧美韩国日本一区| 亚洲精品成a人| 日韩国产欧美在线视频| 韩国女主播一区| 播五月开心婷婷综合| 欧美性猛片xxxx免费看久爱| 欧美日韩一区成人| 精品国产一区二区三区四区四| 国产欧美一区二区精品仙草咪| 中文字幕亚洲成人| 丝袜亚洲另类丝袜在线| 国产精品影视天天线| 97久久精品人人爽人人爽蜜臀| 欧美特级限制片免费在线观看| 欧美一区二区福利在线| 国产欧美日韩亚州综合| 亚洲综合久久av| 国内欧美视频一区二区 | 久久激情五月激情| 北条麻妃国产九九精品视频| 欧美日韩精品一区视频| 国产亚洲精品aa| 亚洲国产你懂的| 高清日韩电视剧大全免费| 精品视频色一区| 国产精品人人做人人爽人人添 | 大胆亚洲人体视频| 欧美日本在线播放| 最新国产精品久久精品| 美女高潮久久久| 欧美午夜不卡视频| 国产精品免费免费|