资源描述:
《图像处理DCT变换讲解学习.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、图像处理DCT变换精品文档DCT变换一、实验目的:1.熟悉图像变换的思想;2.熟悉掌握DCT变换的处理过程;3.深入学习和了解DCT变换的公式以及规律;4.掌握图像的DCT变换的Matlab实现;5.掌握图像的DCT变换,求出图像的频谱。二、实验内容:练习图像的DCT变换的Matlab实现三、实验原理:离散余弦变换是一种实数域变换,其变换核心为实数余弦函数。对一幅图像进行离散余弦变换后,许多有关图像的重要可视信息都集中在DCT变换的一小部分系数中。因此,离散余弦变换是有损图像压缩JPEG的核心,同时也是所谓“
2、变换域信息隐藏算法”的主要“变换域(DCT域)”之一。因为图像处理运用二维离散余弦变换,所以直接介绍二维DCT变换。离散余弦变换(DCT)的定义其逆变换:收集于网络,如有侵权请联系管理员删除精品文档离散余弦变换使图像压缩中常用的一个变换编码方法,任何是对称函数的傅里叶变换中只含余弦项,就成为余弦变换,因此余弦变换是傅里叶变换的特例。余弦变换与傅里叶变换一样有明确的物理意义,是简化傅里叶变换的重要方法。四、实验步骤:DCT变换的Matlab实现[A,map]=imread('lenna');%显示原图imsho
3、w(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/
4、(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)*
5、8)=aa(i,j);end,end,end,end,figure,imshow(uint8(b1));title('DCT');五、实验结果:实验频谱图:上图是lenna图像为例,利用DCT变换函数得到的DCT系数的性质,改图显示了变化的结果,其中DCT系数用光谱的形式给出,直观的表明了低频和高频系数的分不规律。收集于网络,如有侵权请联系管理员删除精品文档收集于网络,如有侵权请联系管理员删除