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

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

?? dwt.c

?? 用C++語言實(shí)現(xiàn)的基于小波分析的源代碼,實(shí)現(xiàn)了小波分析的諸多算法
?? C
字號:
/*********************

  I. 9 multiplies for each pel, for each level
		this could be reduced by going explicility two-dimensional
		(since you can merge multiplies) but that's a real hassle
	9 * (10 cycles) * (256 * 256 dimensions) * log2(4 levels) = 10 mill = 0.06 sec , is half the time

 II. unnecessary mem-copies :
		A. transposing
		B. copy in from ints to doubles
		C. copy to temp-work space x_alloc for each line

III. speeds : time to do 256x256x1 , levels=4
		dwt: 0.15 sec
		dct: 0.10 sec
		spt: 0.05 sec
		haar:0.025 sec

***********************/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <crblib/inc.h>
#include <crblib/memutil.h>

#define WT_ROUND_IN		0
#define WT_ROUND_OUT	0.5

#define F_EXTPAD 4
#define D_EXTPAD 2

static double *x_alloc = NULL;	//** temp work

void forwardDWT(double *x_in, int N)
{
int i, n, half;
double *x,*r,*d;

	x = x_alloc + F_EXTPAD;
	memcpy(x,x_in,sizeof(double)*N);
	for(i=1;i<=F_EXTPAD;i++) {
		x[-i] = x[i];
		x[(N-1) + i] = x[(N-1) - i];
	}

	half = N>>1;  

	r = x_in; d = x_in + half;
	for (n=half;n--;) {

		*r++ = 0.0378285 * (x[ 4] + x[-4]) - 0.0238495 * (x[ 3] + x[-3]) - 0.110624 * (x[ 2] + x[-2]) + 
					0.377403 * (x[ 1] + x[-1]) + 0.852699 * x[0];

		x++;

		*d++ =  - 0.064539 * (x[ 3] + x[-3]) + 0.040689 * (x[ 2] + x[-2]) + 
				0.418092 * (x[ 1] + x[-1]) - 0.788486 * x[ 0] ;

		x++;
    }
}

void inverseDWT(double *x, int N)
{
int i, n, half;
double *r, *d;

	half = N/2;

	r = x_alloc + D_EXTPAD;  
	d = x_alloc + D_EXTPAD + half+D_EXTPAD+D_EXTPAD;  
	memcpy(r,x,half*sizeof(double));
	memcpy(d,x+half,half*sizeof(double));

	for(i=1;i<=D_EXTPAD;i++) {
		r[-i] = r[i];
		r[(half-1)+i] = r[half - i];
		d[-i] = d[i-1];
		d[(half-1)+i] = d[(half-1) - i];
	}
 
	for (n = half; n--;) {

		*x++ = 0.788486 * r[0] - 0.0406894 * ( r[1] + r[-1] )
		     - 0.023849 * (d[1] + d[-2]) + 0.377403 * (d[0] + d[-1]);

		*x++ = 0.418092 * (r[1] + r[0]) - 0.0645389 * (r[2] + r[-1])
		     - 0.037829 * (d[2] + d[-2]) + 0.110624 * (d[1] + d[-1]) - 0.852699 * d[0];

		d++; r++;
	}
}

void waveletTransform2D(int **raw,double **wave, int width, int height, int levels,bool inverse)
{
int x, y, w, yw, h, l;
int *raw_ptr;
double *buffer,*wave_ptr;

    /* Check the dimensions for compatability. */

    if (width%(1 << levels) || height%(1 << levels)) {
		errputs("width and height must be divisible by 2^levels");
		exit(10);
	}

	if ( (x_alloc = malloc(sizeof(double)*(width+height+F_EXTPAD+F_EXTPAD))) == NULL )  {
		errputs("malloc failed"); exit(10);
	}
  
    /* Allocate a work array (for transposing columns) */
    
   	if ( (buffer = newarray(double,height)) == NULL ) {
		errputs("malloc failed"); exit(10);
	}

    /* Compute the wavelet transform. */
  
	if ( !inverse ) { /* forward transform. */

		/** raw -> wave **/

		wave_ptr = wave[0]; raw_ptr = raw[0];
		for(x=width*height;x--;) *wave_ptr++ = (double)(*raw_ptr++) + WT_ROUND_IN;
		
		for (l = 0; l < levels; l++) {
			w = width >> l;
			h = height >> l;
      
			/* Rows. */
	
			for (y = 0; y < h; y++)
				forwardDWT(wave[y], w);
    
			/* Columns. */
	
			wave_ptr = wave[0];
			for (x = 0; x < w; x++) {
				for (y = 0,yw=0; y < h; y++,yw+=width) buffer[y] = wave_ptr[yw];
				forwardDWT(buffer, h);
				for (y = 0,yw=0; y < h; y++,yw+=width) wave_ptr[yw] = buffer[y];
				wave_ptr ++;
			}
		}

    } else {

		for (l = levels-1; l >= 0; l--) {
			w = width >> l;
			h = height >> l;

			/* Columns. */
	
			wave_ptr = wave[0];
			for (x = 0; x < w; x++) {
				for (y = 0,yw=0; y < h; y++,yw+=width) buffer[y] = wave_ptr[yw];
				inverseDWT(buffer, h);
				for (y = 0,yw=0; y < h; y++,yw+=width) wave_ptr[yw] = buffer[y];
				wave_ptr ++;
			}

			/* Rows. */
	
			for (y = 0; y < h; y++)
				inverseDWT(wave[y], w);
    	}

		wave_ptr = wave[0];
		raw_ptr = raw[0];
		for(x=width*height;x--;)
			*raw_ptr++ = (int) ( (*wave_ptr++)  + WT_ROUND_OUT );
	}

	free(x_alloc); x_alloc = NULL;
	free(buffer);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
天堂午夜影视日韩欧美一区二区| 日本久久电影网| 日韩精品自拍偷拍| 麻豆精品在线视频| 2020国产精品| 国产成人av电影在线播放| 欧美国产一区二区| 91一区二区在线观看| 亚洲一区二区在线免费观看视频| 欧美日韩中文字幕一区| 老司机精品视频线观看86| 精品国产免费一区二区三区香蕉| 国产精品99久久久久久久vr| 国产精品天天摸av网| 在线欧美日韩精品| 美女mm1313爽爽久久久蜜臀| 国产欧美一区二区精品忘忧草| 色综合久久综合网97色综合| 午夜激情综合网| 国产亚洲欧洲一区高清在线观看| 99久久99久久精品免费观看| 亚洲成av人影院| 久久先锋资源网| 色综合天天综合色综合av| 日日夜夜免费精品| 久久久久久免费网| 欧美性生活影院| 国产一区在线观看麻豆| 色婷婷亚洲婷婷| 蜜臀av性久久久久蜜臀aⅴ四虎 | 欧美肥妇毛茸茸| 久久99精品国产.久久久久久| 国产片一区二区| 欧美综合视频在线观看| 国产在线精品一区二区夜色 | 成人黄动漫网站免费app| 亚洲国产裸拍裸体视频在线观看乱了 | 国产不卡在线一区| 亚洲国产人成综合网站| 国产午夜精品美女毛片视频| 欧美日韩在线精品一区二区三区激情 | 99国产精品久久久| 精品一区二区久久久| 亚洲一区在线观看视频| 久久精品欧美一区二区三区不卡| 欧美伦理视频网站| 97精品视频在线观看自产线路二| 久久精品国内一区二区三区| 亚洲精品高清在线| 国产日产欧美一区二区视频| 欧美精品三级日韩久久| av在线一区二区| 国产成人亚洲综合a∨婷婷| 日本欧美在线看| 亚洲第一福利一区| 国产一区二区三区久久悠悠色av| 亚洲成人av免费| 国产精品不卡在线观看| 国产亚洲精品福利| 精品不卡在线视频| 欧美一区二区三区在线电影 | 国产99精品视频| 日韩 欧美一区二区三区| 亚洲一区二区三区四区五区黄 | 久久97超碰国产精品超碰| 亚洲一区中文在线| 亚洲黄色免费网站| 最新不卡av在线| 国产精品美女久久久久av爽李琼 | 盗摄精品av一区二区三区| 激情综合亚洲精品| 另类小说色综合网站| 日本aⅴ精品一区二区三区| 午夜视频在线观看一区二区三区| 亚洲一区在线观看网站| 一二三区精品视频| 亚洲一区电影777| 亚洲一区成人在线| 久久久精品国产99久久精品芒果| 日本午夜精品视频在线观看| 一级日本不卡的影视| 中文字幕综合网| 亚洲色图都市小说| 亚洲乱码日产精品bd| 亚洲男人的天堂av| 亚洲精品综合在线| 亚洲国产色一区| 偷拍一区二区三区| 免费观看久久久4p| 久久99九九99精品| 国产99久久久久| 97久久超碰国产精品电影| 欧亚洲嫩模精品一区三区| 欧美影院一区二区三区| 欧美理论在线播放| 精品99久久久久久| 久久久91精品国产一区二区精品| 亚洲国产成人一区二区三区| 中文字幕一区二区三区色视频| 最新国产精品久久精品| 亚洲国产va精品久久久不卡综合| 奇米四色…亚洲| 国产精品996| 一本到不卡精品视频在线观看| 在线日韩国产精品| 欧美电影免费提供在线观看| 欧美国产精品劲爆| 亚洲一区二区在线免费观看视频| 老司机午夜精品| 91丨九色porny丨蝌蚪| 在线播放中文一区| 国产精品无人区| 五月婷婷激情综合| 成人黄色av电影| 91精品国产综合久久福利| 国产喷白浆一区二区三区| 亚洲综合在线免费观看| 国产专区综合网| 日本精品免费观看高清观看| 欧美刺激午夜性久久久久久久| 国产精品久久久久影院老司| 午夜精品福利一区二区三区av| 国产精品一二三在| 欧美日韩夫妻久久| 国产日产欧美精品一区二区三区| 一区二区成人在线观看| 国产在线日韩欧美| 欧美日高清视频| 国产精品视频你懂的| 秋霞电影网一区二区| 不卡视频一二三四| 欧美mv和日韩mv的网站| 一区二区三区精密机械公司| 国产麻豆91精品| 6080日韩午夜伦伦午夜伦| 国产亚洲一区字幕| av男人天堂一区| 在线不卡中文字幕| 国产精品护士白丝一区av| 日韩二区在线观看| 一本大道久久精品懂色aⅴ| 精品国产免费一区二区三区香蕉| 亚洲国产日韩a在线播放| 成人av电影免费在线播放| 精品福利视频一区二区三区| 亚洲最新视频在线观看| 成人精品一区二区三区四区| 亚洲精品一区二区在线观看| 亚洲成人免费观看| 日本韩国欧美一区| 国产精品二三区| 丁香啪啪综合成人亚洲小说 | 欧美日韩高清在线播放| 亚洲私人黄色宅男| 成人黄页毛片网站| 国产欧美一区二区三区网站 | 亚洲成人一二三| 日本韩国欧美一区| 亚洲三级理论片| 99久久精品国产网站| 国产精品嫩草久久久久| 懂色av一区二区三区免费看| 久久久精品免费网站| 国产麻豆精品theporn| 久久亚区不卡日本| 国产 日韩 欧美大片| 国产视频一区在线观看| 国产成人超碰人人澡人人澡| 久久综合九色综合97婷婷女人| 极品美女销魂一区二区三区 | 欧美日韩亚州综合| 亚洲国产日产av| 欧美精品黑人性xxxx| 午夜a成v人精品| 欧美一区二区三区在线观看视频| 肉色丝袜一区二区| 欧美一区二区三区电影| 久久精品国产秦先生| 26uuu精品一区二区| 成人久久视频在线观看| 国产精品福利一区二区| 在线观看日韩高清av| 天使萌一区二区三区免费观看| 69成人精品免费视频| 国产真实乱子伦精品视频| 久久精品亚洲乱码伦伦中文| 成人免费毛片a| 亚洲精品国产a| 欧美一二三在线| 国产不卡免费视频| 亚洲激情五月婷婷| 678五月天丁香亚洲综合网| 久久99精品久久久久久| 国产精品色婷婷久久58| 欧美视频在线一区二区三区| 蜜臀av性久久久久蜜臀av麻豆| 亚洲国产高清aⅴ视频| 色婷婷一区二区| 激情小说亚洲一区| ●精品国产综合乱码久久久久|