资源简介
利用游程编码实现二值bmp压缩解压缩。并计算压缩比。计算压缩前以及解压后图像的信噪比和峰值信噪比
代码片段和文件信息
A = imread(‘3.bmp‘);%读入图片
A = double(A); %把矩阵A定义为double型
B = imread(‘333.bmp‘);%同上
B = double(B);
%% 计算MSE
[mn] = size(A);%计算A的像素(长和宽)
[m1n1] = size(B);
if m~=m1||n~=n1 %如果A B长宽不同就显示“图像大小不一致”
error(‘图像大小不一致‘);
end
msevalue = 0; %定义初始值
for i = 1:m
for j = 1:n %循环用于求和
msevalue = msevalue+(A(ij)-B(ij))^2; %每循环一次就加一次
end
end
msevalue = msevalue/(m*n); %用求的和除以m*n
if msevalue == 0 %表示A(ij)=B(ij)
error(‘图像完全相同‘);
end
%% 计算峰值信噪比
psnrvalue = 255^2/msevalue; %这个你懂得 第二个程序类似的
psnrvalue = 10*log10(psnrvalue)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 7699 2012-05-30 15:55 bmp\bmp\bmp.cpp
文件 4306 2012-05-21 23:47 bmp\bmp\bmp.dsp
文件 531 2012-05-21 23:47 bmp\bmp\bmp.dsw
文件 1067 2012-05-21 20:42 bmp\bmp\bmp.h
文件 50176 2012-05-30 15:55 bmp\bmp\bmp.ncb
文件 53760 2012-05-30 15:55 bmp\bmp\bmp.opt
文件 966 2012-05-30 15:03 bmp\bmp\bmp.plg
文件 196694 2012-05-30 14:59 bmp\bmp\Debug\bmp.exe
文件 217200 2012-05-30 15:03 bmp\bmp\Debug\bmp.ilk
文件 14438 2012-05-30 15:03 bmp\bmp\Debug\bmp.obj
文件 229936 2012-05-21 20:42 bmp\bmp\Debug\bmp.pch
文件 500736 2012-05-30 14:59 bmp\bmp\Debug\bmp.pdb
文件 33792 2012-05-30 15:03 bmp\bmp\Debug\vc60.idb
文件 53248 2012-05-30 15:01 bmp\bmp\Debug\vc60.pdb
文件 693 2012-05-27 17:13 bmp\test1.m
文件 735 2012-05-30 16:13 bmp\test2.m
目录 0 2012-06-06 13:07 bmp\bmp\Debug
目录 0 2012-06-06 13:07 bmp\bmp
目录 0 2012-06-06 13:11 bmp
----------- --------- ---------- ----- ----
1365977 19
- 上一篇:busybox-1.2.0.tar.gz
- 下一篇:稀疏子空间聚类
评论
共有 条评论