• 大小: 950KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-07
  • 语言: Matlab
  • 标签: DCT  图像压缩  

资源简介

课程实验程序,仅供大家参考。程序中有注释,简单易懂。

资源截图

代码片段和文件信息

% 设置压缩比,cr=0.5为2:1压缩;cr=0.1250为8:1压缩
cr = 0.125;
initialimage = imread(‘lena.bmp‘);
initialimage = double(initialimage)/255;
figure();
%subplot(121);
%imshow(initialimage);

%对图像进行DCT变换
t = dctmtx(8);
dctcoe = blkproc(initialimage [8 8] ‘P1*x*P2‘ t t‘);

%将DCT变换后的矩阵转换成列,并按升序排列
coevar = im2col(dctcoe [8 8] ‘distinct‘);
coe = coevar;
[y ind] = sort(coevar);

[m n] = size(coevar);

%舍去不重要的系数
snum = 64-64 * cr;
for i = 1:n
    coe(ind(1:snum) i) = 0;
end

%把列变换为二维矩阵
b2 = col2im(coe [8 8] [512 512] ‘distinct‘);

%逆DCT变换
i2 = blkproc(b2 [8 8] ‘P1*x*P2‘ t‘ t);
%subplot(122);
imshow(i2);

e = double(initialimage)-double(i2);
[m n] = size(e);
erms = sqrt(sum(e(:).^2)/(m*n))

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     830464  2011-12-30 11:11  DCT图像压缩\DCT.doc

     文件        785  2011-12-13 15:45  DCT图像压缩\DCT.m

     文件     263222  2005-06-16 23:18  DCT图像压缩\lena.bmp

     目录          0  2011-12-30 11:11  DCT图像压缩

----------- ---------  ---------- -----  ----

              1094471                    4


评论

共有 条评论