资源简介

利用游程编码实现二值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


评论

共有 条评论