声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1403|回复: 0

[图像处理] dct变换实现图像压缩

[复制链接]
发表于 2014-5-16 11:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
本帖最后由 牛小贱 于 2014-5-16 13:25 编辑

我这里有一段程序,是从网上下载的,利用dct变换实现图片压缩的,我想知道这段程序实现的结果是不是所要求的利用dct实现图像压缩?另外如果将图片换成.jpg后对图片会有部分消除是怎么回事啊?急于求解,希望懂的人帮助一下,谢谢啊!
程序代码:
  1. I=imread('cameraman.tif')
  2. I=im2double(I)                 %转换图像矩阵为双精度型。
  3. T=dctmtx(8)%产生二维DCT变换矩阵
  4. %计算二维DCT,矩阵T及其转置是DCT函数P1*X*P2的参数
  5. a1=[16 11 10 16 24  40  51  61;
  6.     1212 14 19 26  58  60  55;
  7.     1413 16 24 40  57  69  56;
  8.     1417 22 29 51  87  80  62;
  9.     1822 37 56 68  109 103 77;
  10.     2435 55 64 81  104 113 92;
  11.     4964 78 87 103 121 120 101;
  12.     7292 95 98 112 100 103 99 ];
  13. for i=1:8:200
  14.     forj=1:8:200
  15.         P=I(i:i+7,j:j+7);
  16.         K=T*P*T';
  17.         I2(i:i+7,j:j+7)=K;
  18.         K=K./a1;%量化
  19.         K(abs(K)<0.03)=0;
  20.         I3(i:i+7,j:j+7)=K;
  21.     end
  22. end
  23. figure;
  24. imshow(I2);
  25. title('DCT变换后的频域图像');%显示DCT变换后的频域图像
  26. for i=1:8:200
  27.     forj=1:8:200
  28.         P=I3(i:i+7,j:j+7).*a1;%反量化
  29.         K=T'*P*T;
  30.         I4(i:i+7,j:j+7)=K;
  31.     end
  32. end
  33. figure;
  34. imshow(I4);
  35. title('复原图像');
  36. imwrite(I4,'复原图像6.jpg');
  37. B=blkproc(I,[8,8],'P1*x*P2',T,T') %二值掩模,用来压缩DCT系数,只留下DCT系数中左上角的10个
  38. mask=[1 1 1 1 0 0 0 0
  39.       1 1 1 0 0 0 0 0
  40.       1 1 0 0 0 0 0 0
  41.       1 0 0 0 0 0 0 0
  42.       0 0 0 0 0 0 0 0
  43.       0 0 0 0 0 0 0 0
  44.       0 0 0 0 0 0 0 0
  45. B2=blkproc(B,[88],'P1.*x',mask)                  %只保留DCT变换的10个系数
  46. I2=blkproc(B2,[88],'P1*x*P2',T',T)             %重构图像
  47. figure
  48. imshow(I)
  49. title('原始图像');
  50. figure
  51. imshow(I2);
  52. title('压缩图像');
  53. figure
  54. imshow(dct2(I));
  55. figure
  56. mesh(dct2(I))
  57. colorbar('horiz')
复制代码


回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-23 19:54 , Processed in 0.063619 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表