《圖像處理DCT變換》由會員分享,可在線閱讀,更多相關(guān)《圖像處理DCT變換(3頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、
DCT變換
一、 實驗?zāi)康模?
1.熟悉圖像變換的思想;
2.熟悉掌握DCT變換的處理過程;
3.深入學(xué)習(xí)和了解DCT變換的公式以及規(guī)律;
4.掌握圖像的DCT變換的Matlab實現(xiàn);
5.掌握圖像的DCT變換,求出圖像的頻譜。
二、實驗內(nèi)容:
練習(xí)圖像的DCT變換的Matlab實現(xiàn)
三、 實驗原理:
離散余弦變換是一種實數(shù)域變換,其變換核心為實數(shù)余弦函數(shù)。對一幅圖像進行離散余弦變換后,許多有關(guān)圖像的重要可視信息都集中在DCT變換的一小部分系數(shù)中。因此,離散余弦變換是有損圖像壓縮JPEG的核心,同時也是所謂“變換域信息隱藏
2、算法”的主要“變換域(DCT域)”之一。因為圖像處理運用二維離散余弦變換,所以直接介紹二維DCT變換。
離散余弦變換(DCT)的定義
其逆變換:
離散余弦變換使圖像壓縮中常用的一個變換編碼方法,任何是對稱函數(shù)的傅里葉變換中只含余弦項,就成為余弦變換,因此余弦變換是傅里葉變換的特例。余弦變換與傅里葉變換一樣有明確的物理意義,是簡化傅里葉變換的重要方法。
四、實驗步驟:
DCT變換的Matlab實現(xiàn)
[A,map]=imread('lenna');
%顯示原圖
imshow(A,map),
3、
title('原圖');
image=double(A);
N=8;
for x=1,
a(x)=sqrt(1/N);
end,
for x=2:8,
a(x)=sqrt(2/N);
end,
%dct
rimage=zeros(8,8);
for x=1:32,
for y=1:32,
for u=1:N,
for v=1:N,
for i=1:N,
for j=1:N,
rimage(i,j)=image(i+(x-1)*8,j+
4、(y-1)*8);
b(i,j)=rimage(i,j).*cos((2*(i-1)+1)*(u-1)*pi/(2*N)).*cos((2*(j-1)+1)*(v-1)*pi/(2*N));
end,
end,
d(u,v)=sum(sum(b,1),2);
C(u,v)=a(u).*a(v).*d(u,v);
end,
end,
xhimage{x,y}=C;
end,
end,
aa=zeros(8,8);
b1=zeros(256,256);
for
5、x=1:32,
for y=1:32,
aa=xhimage{x,y};
for i=1:8,
for j=1:8,
b1(i+(x-1)*8,j+(y-1)*8)=aa(i,j);
end,
end,
end,
end,
figure,imshow(uint8(b1));title('DCT');
五、實驗結(jié)果:
實驗頻譜圖:
上圖是lenna圖像為例,利用DCT變換函數(shù)得到的DCT系數(shù)的性質(zhì),改圖顯示了變化的結(jié)果,其中DCT系數(shù)用光譜的形式給出,直觀的表明了低頻和高頻系數(shù)的分不規(guī)律。
2