• 大小: 20KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-12
  • 语言: Matlab
  • 标签: matlab  

资源简介

可以运行,有说明 有对图像DFT与DCT变换的对比与说明

资源截图

代码片段和文件信息

clear all;
I1 = imread(‘try1.jpg‘);
S = size(I1);
M = S(1);
N = S(2);
%考虑M和N不能被8整除,需要先做判断用0补足
complementM = M+mod(8-mod(M8)8);
complementN = N+mod(8-mod(N8)8);
I = zeros(complementMcomplementN);
I(1:M1:N)=I1;
%分8*8小块完成DCT变换
%直接截取前20(实际上是21)个数据(对角线扫描),其余变0
compressI = zeros(complementMcomplementN);
tmp = zeros(88);
for i = 1 : (complementM/8)
    for j = 1 : (complementN/8)
        tmp = imDCT( I(8*i-7:8*i  8*j-7:8*j) );
        for m = 1:8
            for n = 1:8
                if (m+n)>7 
                    tmp(mn)=0;
                end
            end
        end
        compressI(8*i-7:8*i  8*j-7:8*j) = iimDCT(tmp);
    end
end

%计算PSNR
tmp2 = (double(I1)-compressI(1:M1:N)).^2;
PSNR = 255^2/mean(tmp2(:));
PSNRdB = 10*log10(PSNR);

subplot(211);imshow(I1);title(‘原图‘);
subplot(212);imshow(uint8(compressI));title(‘压缩图‘);



 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-04-23 15:08  实验1(张鑫)\
     文件         946  2015-04-01 13:04  实验1(张鑫)\Homework1_DCT.m
     文件         410  2015-03-30 00:01  实验1(张鑫)\Homework1_DFT.m
     文件         489  2015-04-15 18:09  实验1(张鑫)\iimDCT.m
     文件         555  2015-03-30 00:02  实验1(张鑫)\iimFFT.m
     文件         510  2015-04-15 18:08  实验1(张鑫)\imDCT.m
     文件         531  2015-03-29 23:27  实验1(张鑫)\imFFT.m
     文件        8632  2015-03-29 08:32  实验1(张鑫)\try1.jpg
     文件        7983  2015-03-29 08:32  实验1(张鑫)\try2.jpg
     文件         202  2015-04-22 19:07  实验1(张鑫)\说明.txt

评论

共有 条评论