關雪梅
(遼寧對外經貿學院 基礎課教研部,遼寧 大連 116052)
隨著信息化技術的快速發展,各行各業越來越多的數字信息需要被存儲,被保留,海量數據處理面臨著很大的難題,因而越來越多的學者開始著手于數字信息壓縮處理的研究,數字圖像壓縮技術也是研究的熱點之一.圖像壓縮技術是圖像處理領域中需要研究的一個非常重要的問題,數字圖像在傳輸處理的過程中會出現各種冗余的信息,數字圖像壓縮技術的目的就是保留圖像的有用信息,消除圖像中存在的冗余.小波變換技術進行圖像壓縮一般采用的是多尺度分析方法,可以對每個層次的系數進行變換的處理,這樣就可以得到極高的壓縮比.
Matlab是一種用于數學計算和計算機圖像處理的應用軟件,它具有圖像信息處理、矩陣運算、數值分析等多種功能,用戶界面和設計環境友好,為工程的應用和科學理論研究做出了巨大貢獻,是一種非常好的程序開發工具.本文主要是在Matlab軟件環境下采用小波變換的方法進行數字圖像壓縮處理,既快又準確地完成數字圖像的壓縮工作.
小波變換是基于時間、空間和頻率的一種圖像處理的局部變換方法,采用水平移動和伸縮的方法進行函數多尺度運算,可以實現在圖像的低頻率處使頻率進一步細分,圖像高頻率出使時間進一步細分.通常采用二維離散小波變換進行圖像壓縮,分別在垂直和水平方向進行高通濾波和低通濾波處理,做下采樣,原始圖像小波分解圖如下圖所示:
在上圖中A表示低頻分量,B表示高頻分量,下標1和2分別代表一級或二級分解.
原始的數字圖像在經過二維離散小波變換處理后,獲得許多具有不同分辨率的子圖像,這些子圖像含有的頻率是不一樣的.很多含有高頻的子圖像數據點都靠近0,而且是越高這種現象越明顯.分辨率為n的數字圖像通過二維離散小波變換可以將其低頻成分逐步分解為分辨率為n+1斜線、垂直、水平的高頻部分和低頻部分.三個方向的高頻部分保持不變,低頻部分繼續依照上述方法繼續分解,從而實現數字圖像的多分辨率的分解,分解過程如下圖所示:

圖2 二維小波變換分解圖
由此可推斷出小波重構算法,二維小波重構如下圖所示:

圖3 二維小波變換重構圖
其中,L0L1分別表示分解的低通和高通濾波器,G0G1分別表示合成后的低通和高通濾波器.
數字圖像通過小波變換方法進行圖像壓縮基本設計思想是將原圖像進行多分辨率分解處理后,分解成很多頻率和空間都不相同的子圖像,接著再進行子圖像系數編碼處理.采用小波變換的方法進行圖像壓縮處理的重點就是系數編碼,對子圖像系數進行量化的壓縮.由于小波變換自身是不含有圖像壓縮功能的,所以通過小波變換處理過的數字圖像和原圖像的數據總量是保持不變的.我們采用小波變換進行數字圖像壓縮處理是由于最終生成的圖像和原始圖像不同的特點,在圖像的低頻部分能量集中表現,圖像對角線、垂直和水平部分能量表現較少.而圖像在對角線、垂直和水平部分的邊界信息比較突出,有很明顯的方向性.前者我們可以稱之為亮度圖像,而后者稱之為細節圖像.最終可以獲得4個子圖像,經過分析人的心理和視覺特點,對子圖像進行編碼量化處理.由于人對亮度敏感的視覺特點,在進行圖像壓縮處理時盡量避免失真的效果.
Matlab是一種效率很高的數據處理軟件,在圖像處理、數值運算、自動控制、金融分析等方面應用非常廣泛.Matlabe進行數字圖像處理的第一步是使用變換的小波基對灰度圖像進行處理,接著進行全局范圍的閾值壓縮處理,之后進行圖像分層閾值壓縮處理,最后執行小波包全局化閾值壓縮,獲得最終壓縮圖像.
數字圖像進行小波變換分解后,可以獲得若干個分辨率不同的子圖像,這些分解后的子圖像有不同的頻率.擁有高頻分量的子圖像的數據大部分接近零,清晰度越高效果越明顯.往往對一副數字圖像來說最有代表性的是它的低頻數據,因而圖像的壓縮方法是經過小波分解后,保留圖像的低頻數據而去除圖像的高頻數據.使用Matlab軟件進行小波變換圖像壓縮的具體方法如下:
load p1;%載入圖像
subplot(2,2,1);image(X);colomat(map);
title(‘原圖像’);%將原圖像顯示出來
disp(‘原圖像X尺寸:’);whos(‘X’);
[m,n]=wavedec2(X,2,‘bior3.7’);%采用 bior3.7 小波對原圖像進行二層分解
f1=appcoef(m,n,’bior3.7’);%獲取小波分結構的一層低頻及高頻系數
t1=detcoef2(‘h’,m,n,1);%水平方向(其他方向與此相似)
hh1=wrcoef2(‘h’,m,n,‘bior3.7’,1);%將第一層水平數據進行重構處理(其他方向與此相似)
f1=appcoef2(m,n,‘bior3.7’,1);
f1=wcodemat(f1,440,‘mat’,0);%將小波分解后的第一層低頻信息保留并進行圖像壓縮,同時量化編碼
f2=appcoef2(m,n,‘bior3.7’,2);
f2=wcodemat(f2,440,‘mat’,0);%將小波分解后的第二層低頻信息保留并進行圖像壓縮,同時顯示出來
經過Matlab實驗,采用小波分解方法將原圖像進行第一次壓縮是獲取第一層中低頻數據,壓縮約為三分之一的數據含有量,壓縮效果較理想.接著繼續第二次壓縮,獲取第二層低頻數據,壓縮為十二分之一的數據含有量,壓縮效果也還可以.由此可見,采用小波變換方法進行圖像壓縮處理不需要進行其他操作就可以獲得比較滿意的壓縮效果,是一種非常好的圖像壓縮方法.
數字圖像壓縮技術是非常有發展前景的領域,影響著社會多個行業.數字化信息時代必然會產生大量的圖文數據,因而人們越來越重視圖文壓縮算法的研究.采用小波變換方法可以很好地對圖像進行壓縮,小波變換多頻段分解壓縮的基本原理符合人類視覺多頻率通道的特征,因而可以利用人類視覺上的這一特性進行圖像壓縮數據處理.本文采用Matlab的相關函數和處理算法來實現小波變換圖像壓縮,對于一般的圖像來說,通過變換可以獲取較大的圖像壓縮比,處理后的圖像清晰度高,圖像效果好,基于Matlab的小波變換圖像壓縮算法有很好地應用前景.