999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

小波變換VC6.0程序實現

2010-01-01 00:00:00劉超,邢曙光,楊曦娥
電腦知識與技術 2010年3期

摘要:隨著小波研究的深入,小波變換的應用范圍越來越廣泛,但是一般的研究、工作中只是使用Matlab的小波工具包來編程。該文使用VC++6.0設計實現基于小波變換的數字圖像處理軟件模塊,編寫具體實現程序,設計軟件界面,使其使用方便快捷,對于今后使用小波變換進行各種實際工作有一定的幫助。

關鍵詞:小波變換;VC++6.0;Matlab

中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2010)03-615-02

Wavelet Transform Procedures for Implementation VC++6.0

LIU Chao1, XING Shu-guang1, YANG Xi-e2

(1.China University of Geosciences (Wuhan) The Faculty of Earth Resources, Wuhan 430074, China; 2.Northwest AF University, College of Humanities, Yangling 712100, China)

Abstract: With the wavelet-depth study, the scope of application of wavelet transform more and more widely, but most of the research, the work is the use of Matlab wavelet toolkit for programming. This paper uses the Design and Implementation of VC++6.0 digital image processing software modules based on wavelet transform to prepare concrete realization of programs, design software interface to make it a convenient, for helping future use of wavelet transform to the practical work.

Key words: wavelet transform; VC++6.0; Matlab

1 概述

多分辨率分析和多尺度幾何分析的結合已經成為目前學術界的熱門課題。

小波最先始于學者Harr提出的一種非連續可微的正交分解,之后,物理學家Levy利用Harr小波變換研究分子的布朗運動,Mallat提出了相當于傅里葉變換中FFT的Mallat算法,Daubechies構造出的緊支撐小波,如今,第二代甚至第三代小波都得到了飛速發展。

小波分析是即傅里葉分析之后,信號處理方面里程碑式的發展結晶。工程應用方面,小波變換在數字信號處理、圖像處理、語音處理、生物醫學信號處理等實踐中的應用越來越廣泛。但是目前,在小波變換研究和工程應用主要通過使用Matlab小波工具箱來實現。相關的C語言編碼較少,且不易使用。

2 離散小波變換

在實際應用中,離散小波變換的實現容易,能為信號分析與合成提供足夠的信息,同時降低計算機的資源消耗和計算量。因此,本文主要介紹離散小波變換。

在離散小波變換中,首先通過卷積運算完成信號的濾波,將信號分解為信號的初級估計近似和信號的細節信息,然后在不同的頻帶上利用不同的尺度因子對信號進行處理。離散變換示意圖如圖1。

圖中x(n)是原始信號,然后通過g(n)和h(n)完成分解,信號帶寬利用f表示。完成濾波后的濾波輸出等式為等式(1)高通濾波輸出和等式(2)低通濾波輸出

3 一維小波變換VC++實現

由2可知,離散小波變換實際是通過卷積運算完成的,小波變換一維DWT或IDWT實現代碼如下:

1) 函數輸入

double * data,指向源數據的指針。intnCurLongth,當前處理數據長度。int IDWT,是否為DWT,1表示為IDWT,0表示DWT。int nStep,當前分解層數。int nSupp,小波基的緊支集的長度。本文中,小波基存儲在hCoef這個二維數組中,通過nSupp調用小波基

double s = sqrt(2);double* h = NULL;

h = (double*)hCoef[m_nSupp-1]; // 獲得小波基的指針

int CurN = nCurLongth; // 計算當前層數的長度

// 確認所選擇的小波基和當前層數的長度有效

if (m_nSupp<1 || CurN<2*m_nSupp)

return FALSE;

// 分配臨時內存用于存放結果

double *ptemp = new double[CurN];

if (!ptemp) return FALSE;

doubles1, s2; intIndex1, Index2;

// 判斷是進行DWT還是IDWT

if (!nInv)

{// DWT

Index1=0,Index2=2*m_nSupp-1;

// 進行卷積,其中s1為低頻部分,s2為高頻部分的結果

for (int i=0; i

{

s1 = s2 = 0;double t = -1;

for (int j=0; j<2*m_nSupp; j++, t=-t)

{

int m = 0,n = 0;

if(Index1 >= 0 Index1 <= CurN-1)m = Index1;// 周期延拓

else if(Index1 < 0)m = CurN + Index1;

elsem = Index1-CurN;

if (Index2 >= 0 Index2 <= CurN-1)n = Index2;

else if(Index2 < 0)n = CurN + Index2;

elsen = Index2-CurN;

s1 += h[j]*data[m * nStep];

s2 += t*h[j]*data[n * nStep];

Index1++; Index2--;}

// 將結果存放在臨時內存中

ptemp[i] = s1/s,ptemp[i+CurN/2] = s2/s;

Index1 -= 2*m_nSupp,Index2 += 2*m_nSupp;

Index1 += 2,Index2 += 2;

}

}

else{// IDWT

Index1 = CurN/2; Index2 = CurN/2-m_nSupp+1;、

int nHalf=CurN/2;

for (int i=0; i

{

s1 = s2 = 0;

int Index3 = 0;

for (int j=0; j

{

int m=0, n=0;

if (Index1>=nHalf)m = Index1 - nHalf;

elsem = Index1;

if (Index2>=nHalf)n = Index2 - nHalf;

else n = Index2;

s1 += h[Index3]*data[m * nStep]

+h[Index3+1]*data[(n + CurN/2) * nStep];

s2 += h[Index3+1]*data[m * nStep]

-h[Index3]*data[(n + CurN/2) * nStep];

Index3+=2,Index1--,Index2++;}

// 將結果存入臨時內存

ptemp[2*i] = s1*s,ptemp[2*i+1] = s2*s;

Index1 += m_nSupp,Index2 -= m_nSupp;

Index1++,Index2++;

}

}

// 將結果存入源圖象中

for (int i=0; i

data[i*nStep] = ptemp[i];

// 釋放臨時內存

delete[] ptemp;

4 圖像的小波變換

圖像可以看做是二維的矩陣。完成小波變換后,圖像便分解為4個大小為原來尺寸1/4的子塊頻帶區域,具體處理結果如圖2所示。

圖中LL頻帶保持了原始圖像內容信息,HL、LH、HH分別保持了圖像水平、豎直、對角線方向上的高頻邊緣信息。由于篇幅有限這里就不寫出二維信號的具體小波變換實現代碼。其具體實現方法為先對圖像小波行變換,再進行小波列變換。

本文給出了一維小波變換具體實現代碼,此代碼優點為實現一維變換與逆變換簡便容易。在以其為基礎實現二維變換時,處理圖片大小不局限于N*N大小。希望對需要自己編寫小波變換代碼的讀者有一定幫助。

參考文獻:

[1] 靳濟芳.Visual C++小波變換技術與工程實踐[M].北京:人民郵電出版社,2004.

[2] 楊淑熒,邊奠英.VC++圖像處理程序設計[M].北京:清華大學出版社,北京交通大學出版社,2007.

[3] 許剛,董士崇.小波變換算法的C語言實現[J].電腦知識與技術,2005(2).

[4] 葛哲學,沙威.小波分析理論與MATLAB R2007實現[M].北京:電子工業出版社,2007.

主站蜘蛛池模板: 欧美日韩一区二区三区在线视频| 亚洲免费三区| 亚洲欧美精品一中文字幕| 国产激情第一页| av手机版在线播放| 少妇精品网站| 无码国内精品人妻少妇蜜桃视频| 青青草综合网| 国产欧美日韩视频怡春院| 亚洲精品爱草草视频在线| 国产成人综合日韩精品无码首页 | jijzzizz老师出水喷水喷出| 综合色亚洲| 国产美女在线观看| 亚洲经典在线中文字幕| 欧美啪啪精品| 久久久久久久久久国产精品| 国产精品自在在线午夜区app| 亚洲精品片911| 国外欧美一区另类中文字幕| 国产95在线 | 色天天综合| 九九精品在线观看| 日韩欧美综合在线制服| 亚洲视频无码| 国产毛片高清一级国语| 色一情一乱一伦一区二区三区小说| 国产精品成人AⅤ在线一二三四 | 国产毛片一区| 婷婷午夜影院| 亚洲天堂777| 免费99精品国产自在现线| 色综合天天视频在线观看| 国产精品免费p区| 九九久久精品免费观看| 亚洲伊人久久精品影院| 国产极品粉嫩小泬免费看| 99在线观看视频免费| 国产精品成人久久| 亚洲综合色婷婷中文字幕| 狠狠操夜夜爽| 亚洲中文字幕在线精品一区| 国产网站黄| 免费人成网站在线高清| 综合色区亚洲熟妇在线| 国产女同自拍视频| 一本大道无码高清| 国产亚洲精久久久久久久91| 国产永久免费视频m3u8| 日本一区二区不卡视频| 伊人久热这里只有精品视频99| 久久综合伊人 六十路| 国产亚洲精品97AA片在线播放| 91精品人妻一区二区| 亚洲综合二区| 精品无码视频在线观看| 99精品伊人久久久大香线蕉 | 亚洲AV永久无码精品古装片| 激情影院内射美女| 成人福利在线观看| 麻豆精品久久久久久久99蜜桃| 亚洲一区免费看| 一区二区影院| 日日拍夜夜操| 国产日韩久久久久无码精品| 欧美日本在线一区二区三区 | 亚洲一区二区在线无码| 久久一级电影| 欧美激情视频在线观看一区| 久久毛片免费基地| 日韩国产精品无码一区二区三区 | 欧美日韩国产一级| 91人妻日韩人妻无码专区精品| 国产色网站| 在线a视频免费观看| 国产一区免费在线观看| 精品国产aⅴ一区二区三区 | 日本一区高清| 国产人前露出系列视频| 亚洲一区二区约美女探花| 99re视频在线| 欧美精品v欧洲精品|