预览加载中,请您耐心等待几秒...
1/3
2/3
3/3

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

PAGE\*MERGEFORMAT2DCT变换实验目的:1.熟悉图像变换的思想;2.熟悉掌握DCT变换的处理过程;3.深入学习和了解DCT变换的公式以及规律;4.掌握图像的DCT变换的Matlab实现;5.掌握图像的DCT变换,求出图像的频谱。二、实验内容:练习图像的DCT变换的Matlab实现实验原理:离散余弦变换是一种实数域变换,其变换核心为实数余弦函数。对一幅图像进行离散余弦变换后,许多有关图像的重要可视信息都集中在DCT变换的一小部分系数中。因此,离散余弦变换是有损图像压缩JPEG的核心,同时也是所谓“变换域信息隐藏算法”的主要“变换域(DCT域)”之一。因为图像处理运用二维离散余弦变换,所以直接介绍二维DCT变换。离散余弦变换(DCT)的定义其逆变换:离散余弦变换使图像压缩中常用的一个变换编码方法,任何是对称函数的傅里叶变换中只含余弦项,就成为余弦变换,因此余弦变换是傅里叶变换的特例。余弦变换与傅里叶变换一样有明确的物理意义,是简化傅里叶变换的重要方法。四、实验步骤:DCT变换的Matlab实现[A,map]=imread('lenna');%显示原图imshow(A,map),title('原图');image=double(A);N=8;forx=1,a(x)=sqrt(1/N);end,forx=2:8,a(x)=sqrt(2/N);end,%dctrimage=zeros(8,8);forx=1:32,fory=1:32,foru=1:N,forv=1:N,fori=1:N,forj=1:N,rimage(i,j)=image(i+(x-1)*8,j+(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);forx=1:32,fory=1:32,aa=xhimage{x,y};fori=1:8,forj=1:8,b1(i+(x-1)*8,j+(y-1)*8)=aa(i,j);end,end,end,end,figure,imshow(uint8(b1));title('DCT');五、实验结果:实验频谱图:上图是lenna图像为例,利用DCT变换函数得到的DCT系数的性质,改图显示了变化的结果,其中DCT系数用光谱的形式给出,直观的表明了低频和高频系数的分不规律。