實驗四 dct變換huffman編碼圖像壓縮

實驗四 dct變換huffman編碼圖像壓縮

ID:10978900

大?。?25.35 KB

頁數(shù):8頁

時間:2018-07-09

實驗四 dct變換huffman編碼圖像壓縮_第1頁
實驗四 dct變換huffman編碼圖像壓縮_第2頁
實驗四 dct變換huffman編碼圖像壓縮_第3頁
實驗四 dct變換huffman編碼圖像壓縮_第4頁
實驗四 dct變換huffman編碼圖像壓縮_第5頁
資源描述:

《實驗四 dct變換huffman編碼圖像壓縮》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、實驗四圖像壓縮姓名:學(xué)號:郵箱:一、實驗?zāi)康?.掌握DCT變換的原理2.了解DCT變化在圖像壓縮中的應(yīng)用3.掌握圖像壓縮的基本原理及方法4.了解霍夫曼編碼原理5.熟悉圖像壓縮的MATLAB編程二、實驗原理DCT是目前比較好的圖像變換,它有很多優(yōu)點。DCT是正交變換,它可以將8x8圖像空間表達(dá)式轉(zhuǎn)換為頻率域,只需要用少量的數(shù)據(jù)點表示圖像;DCT產(chǎn)生的系數(shù)很容易被量化,因此能獲得好的塊壓縮;DCT算法的性能很好,它有快速算法,如采用快速傅立葉變換可以進(jìn)行高效的運算,因此它在硬件和軟件中都容易實現(xiàn);而且DCT算法是對稱的,所以

2、利用逆DCT算法可以用來解壓縮圖像。由于DCT主要應(yīng)用在數(shù)據(jù)和圖像的壓縮,因此希望原信號的能量在變換后能盡量集中在少數(shù)系數(shù)上,且這些大能量的系數(shù)能處在相對集中的位置,這將有利于進(jìn)一步的量化和編碼。但是如果對整段的數(shù)據(jù)或整幅圖像來做DCT,那就很難保證大能量的系數(shù)能處在相對集中的位置。因此,在實際應(yīng)用中,一般都是將數(shù)據(jù)分成一段一段來做,一般分成8x8或16x16的方塊來做。二維DCT正交變換的公式為:二維DCT逆變換公式:其中一、實驗要求利用DCT變換對圖像進(jìn)行壓縮,對比不同壓縮比下的結(jié)果,對比不同壓縮比下圖像大小的變化。

3、壓縮過程如下圖所示:讀入圖像DCT變換量化huffman編碼二、實驗過程與結(jié)果實驗程序如下:(先給出主程序,然后給出各功能子函數(shù)的程序)主程序:clearload('lena.mat')%調(diào)入170*170大小的一幅彩色lena圖像l=imresize(lena,[256256]);%將圖像變換為8的整數(shù)倍大小X=rgb2gray(l);Y1=double(X);%讀入圖像數(shù)據(jù)lianghua=[1611101624405161;%量化矩陣,量化的程度序決定壓縮比1212141926586055;141316244057

4、6956;1417222951878062;182237566810910377;243555648110411392;49647887103121120101;7292959811210010399];ilianghua=lianghua;%----------------------------------------------------------%圖像壓縮%----------------------------------------------------------t=dctmtx(8);J=blkpr

5、oc(Y1,[88],'P1*x*P2',t,t');%分成8*8塊進(jìn)行DCT變換M=blkproc(J,[88],'round(x./P1)',lianghua);%量化u=abs(min(min(M1));M=(M1./u)+1;data=uint8(M);%Huffman編碼要求為無符號整形數(shù)組M2=M-double(data);[zipped,info]=huffencode(data);%調(diào)用Huffman編碼程序進(jìn)行壓縮unzipped=huffdecode(zipped,info,data);%調(diào)用Huff

6、man解碼程序進(jìn)行解壓縮k=1;fori=1:256forj=1:256unzippedray(i,j)=unzipped(k);k=k+1;endendunzippedray=unzippedray';%對解壓縮后得到的一維數(shù)組進(jìn)行變換,得到無損的量化后%二維數(shù)組,其值與data數(shù)組值是一致的,體現(xiàn)了Huffman編碼是一種無損編碼unzippedray=(double(unzippedray)-1+M2).*u;T=blkproc(unzippedray,[88],'x.*P1',ilianghua);%反量化I=b

7、lkproc(T,[88],'P1*x*P2',t',t);%8*8DCT反變換%----------------------------------------------------------%調(diào)用Huffman編碼程序進(jìn)行解碼%顯示原始圖像和經(jīng)編碼后的圖像,顯示壓縮比,并計算均方根誤差得erms=0,表示是Huffman是無失真編碼figuresubplot(221);imshow(Y1,[]);axissquare;xlabel('原256*256灰度圖像');subplot(222);imshow(I,[])

8、;axissquare;xlabel('Huffman解壓縮后圖像');subplot(223);imshow((Y1-I),[]);axissquare;xlabel('量化后損失的圖像部分');[h,k]=hist((Y1-I),256);%生成直方圖數(shù)據(jù)subplot(224);bar(k,h,'k');tit

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。