資源簡介
小波變換在圖像壓縮中的應(yīng)用,用MATLAB實(shí)現(xiàn)時(shí)因?yàn)镸ATLAB自帶小波分析工具箱,所以編程比較簡便,主要是算法要理解。這里附上了4個(gè)程序代碼,1是局部壓縮,2、3是兩個(gè)壓縮實(shí)例(EZW算法,讓部分高頻系數(shù)置零),4是閾值確定實(shí)例。載入圖像時(shí)MATLAB軟件自帶的,因此不需要轉(zhuǎn)換圖像格式等語句。另外,一些函數(shù)的不理解的,可以查看help看函數(shù)的意義。因?yàn)閷?shí)驗(yàn)結(jié)果上傳起來比較費(fèi)時(shí),所以只給了源文件。僅供學(xué)習(xí)參考。希望能起到幫助作用

代碼片段和文件信息
%基于小波變換的圖像局部壓縮
load?wbarb
%使用sym4小波對信號進(jìn)行一層小波分解
[calchlcvlcdl]=dwt2(X‘sym4‘);
codcal=wcodemat(cal192);
codchl=wcodemat(chl192);
codcvl=wcodemat(cvl192);
codcdl=wcodemat(cdl192);
%將四個(gè)系數(shù)圖像組合成一個(gè)圖像
codx=[codcalcodchlcodcdlcodcdl]
%復(fù)制原圖像的小波系數(shù)
rcal=cal;
rchl=chl;
rcvl=cvl;
rcdl=cdl;
%將三個(gè)細(xì)節(jié)系數(shù)的中部置零
rchl(33:9733:97)=zeros(6565);
rcvl(33:9733:97)=zeros(6565);
rcdl(33:9733:97)=zeros(6565);
codrcal=wcodemat(rcal192);
codrchl=wcodemat(rchl192);
codrcvl=wcodemat(rcvl192);
codrcdl=wcodemat(rcdl192);
%將處理后的系數(shù)圖像組合為一個(gè)圖像
codrx=[codrcalcodrchlcodrcvlcodrcdl]
%重建處理后的系數(shù)
rx=idwt2(rcalrchlrcvlrcdl‘sym4‘);
subplot(221);image(wcodemat(X192))colormap(map);title(‘原始圖像‘);
subplot(222);image(codx)colormap(map);title(‘一層分解后各層系數(shù)圖像‘);
subplot(223);image(wcodemat(rx192))colormap(map);title(‘壓縮圖像‘);
subplot(224);image(codrx)colormap(map);title(‘處理后各層系數(shù)圖像‘);
%求壓縮信號的能量成分
per=norm(rx-X)
per=1.0000
%求壓縮信號與原信號的標(biāo)準(zhǔn)差
err=norm(rx-X)
err=586.4979
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????1123??2010-05-10?10:15??wavelet?-image?compression\compression1.m
?????文件???????1330??2010-05-02?16:14??wavelet?-image?compression\compression2.m
?????文件????????623??2010-05-10?10:27??wavelet?-image?compression\compression3.m
?????文件???????1190??2010-05-10?11:03??wavelet?-image?compression\compression4.m
?????目錄??????????0??2010-05-13?16:54??wavelet?-image?compression
-----------?---------??----------?-----??----
?????????????????4266????????????????????5
評論
共有 條評論