• 大小: 595 Bytes
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2024-09-30
  • 语言: Matlab
  • 标签: DCT  

资源简介

运用分块DCT的方法对一幅bmp图像进行DCT编码,图像须是一幅灰度图。

资源截图

代码片段和文件信息

                                                                                                     tic
src =imread(‘图像名.bmp‘);
src=double(src);

dest= ones(8);
dest2= ones(8);
final= ones(256);


% 产生     8*8    DCT基矩阵
%----------------------------------------
N=8;   %DFT 点数
matrix= zeros(8);
% 基矩阵  产生N * N 的基矩阵
for I= 1: N
 matrix(1I) = 1 / sqrt(N);
end

for m =1:N-1
   for k=1:N
        matrix(m+1 k) = sqrt(2/N)*cos(  m* (2*k-1)* pi/(2*N) );
   end
end
%------------------------------------------------------------



%分块 8*8
for y=0:31
  for x = 0:31

    test =src(   (1+y*8):(8 + y*8)   (1+x*8):(8 + x*8)  );

    for I = 1:8
         dest(I:) = matrix * test(I :)‘; 
    end

    for I = 1:8
         dest2(: I) = matrix * dest(:I); 
     end
    final(   (1+y*8):(8 + y*8)   (1+x*8):(8 + x*8)  ) = dest2;
  end
end

final = 255*final / max(final(:));  %归一化


imshow(final [0 255]);


toc   

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

     文件        986  2009-05-03 21:38  DCT\op.m

     目录          0  2009-05-03 21:37  DCT

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

                  986                    2


评论

共有 条评论