加载中…
个人资料
康冰冰
康冰冰
  • 博客等级:
  • 博客积分:0
  • 博客访问:588
  • 关注人气:10
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

图像的DCT变换的实现

(2011-06-05 20:10:26)
标签:

杂谈

分类: 图像处理

用matlab实现图像的DCT变换,在频域压缩后再反变换

I=imread('lenna.jpg');
imshow(I);
title('未压缩的原图')
A=im2double(I);

D = dctmtx(size(A,1));
dct = D*A*D';%整个图像的DCT变换
figure, imshow(dct);
title('DCT频谱');

D = dctmtx(8);%8x*的DCT变换矩阵
B=blkproc(A,[8 8],'P1*x*P2',D,D');�T变换
Mask=[1 1 1 1 0 0 0 0
1 1 1 0 0 0 0 0
1 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0];
B2=blkproc(B,[8 8],'P1.*x',Mask);%取其左上角的几个系数,压缩
I2=blkproc(B2,[8 8],'P1*x*P2',D',D);%反变换
figure,imshow(I2);
title('压缩后的图像');

原图像

http://s16/middle/716f76cb4a4f5e58f8b4f&690
DCT频谱

http://s12/middle/716f76cb4a4f5e9b6f1eb&690

压缩后的图像


http://s11/middle/716f76cb2e719b33c362a&690



0

阅读 收藏 喜欢 打印举报/Report
前一篇:DCT变换
后一篇:追忆高考
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有