• 大小: 3KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-01-04
  • 语言: Matlab
  • 标签: JEPG  DCT  

资源简介

图像的空间频率对人的视觉至关重要,采用DCT变换可将图像分解成一组波,每个波有一个不同的空间频率,这样可以去除人类眼睛觉察不到的信息,同时,它也使系统只保留重要的信息。

资源截图

代码片段和文件信息

%%% 1、读取图象并进行存储类型转换
I=imread(‘lenah1.BMP‘);%该图片在安装matlab的目录中的work文件夹中
figure(1);
imshow(I);
title(‘原始图像‘)
I1=double(I);%图像存储类型由整型转换为双精度型


%%% 2、对原图像进行DCT变换
T=dctmtx(8);%离散余弦变换矩阵
M=blkproc(I1[8 8]‘P1*x*P2‘TT‘);%对原图像进行DCT变换
figure(2);
imshow(uint8(M));
title(‘DCT变换后的图像‘)


%%% 3、量化
Q=[16 11 10 16 24 40 51 61
   12 12 14 19 26 58 60 55
   14 13 16 24 40 57 67 56
   14 17 22 29 51 87 80 62
   18 22 37 56 68 109 103 77
   24 35 55 64 81 104 113 92
   49 64 78 87 103 121 120 101
   72 92 95 98 112 100 103 99 ];%QF=50的标准量化矩阵 
N=blkproc(M[8 8]‘round(x./P1)‘Q);%DCT变换后的矩阵除量化因子,四舍五入
figure(3);
imshow(uint8(N));
title(‘量化压缩后的图像‘)


%%% 4、分块处理
for k=1:8:249           
   for m=1:8:249
      n=1;p=1;
     while n<=8
       for i=k:k+7
         while p<=8
   

评论

共有 条评论