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

代码片段和文件信息
% 设置压缩比,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
- 上一篇:人工免疫matlab工具箱
- 下一篇:倒立摆的滑模变结构控制本科论文
相关资源
- 用MATLAB编写的离散余弦变换编码
- MATLAB_dct
- 用MATLAB-DFT2D DCT2D
- matlab数字水印dwtGUI+psnr+mse
- 用MATLAB做的基于霍夫曼编码的图像压
- matlab图像压缩感知
- 图像压缩编码程序设计
- Retinex in matlab图像增强、HDR图像压缩
- MATLAB(DCT DWT)图像数字水印的方案毕
- 基于DCT变换和DFT变换的数字图像压缩
- 基于pca的图像压缩与重建代码
- 基于DCT图像有损压缩MATLAB仿真
- 基于pca的图像压缩算法
- 图像DCT域信息隐藏实验
- 数字图像处理|Matlab-灰度和彩色图像
- 基于二叉树和最优截断的图像压缩算
- MATLAB读取JPEG图片的DCT系数
- dct域数字水印MATLAB代码及实验报告
- matlab实现彩色图像DCT变换
- DCT+DWTmatlab数字水印代码
- MATLAB数字水印dwt+dct+多攻击+GUI界面.
- 基于小波变换的图像压缩与matlab仿真
- MATLAB——二维小波分析进行图像压缩
- 基于DCT的JPEG图像压缩
- MATLAB实现嵌入式小波零树编码算法E
- 一个matlab上的图像压缩过程
- 小波变换用于图像压缩的MATLAB源程序
- 基于DCT_变换的JPEG图像压缩及其MATLA
- 用matlab实现基于DCT域的鲁棒水印
- Matlab有关DCT域音频水印嵌入程序-317
评论
共有 条评论