📄 psnrandrate.m
字号:
function rateandpsnr()
Orig_I = imread('roomL.bmp');
Orig_I=double(Orig_I);
OrigSize = size(Orig_I, 1);psnr=zeros(1,5);
hold on
for i=1:5
rate1=0.2*i;
max_bits = floor(rate1 * OrigSize^2);
image_spiht = zeros(size(Orig_I));
[nRow, nColumn] = size(Orig_I);
n = size(Orig_I,1);
n_log = log2(n);
level = n_log;
type = 'bior4.4';
[Lo_D,Hi_D,Lo_R,Hi_R] = wfilters(type);
[I_W1, S1] = func_DWT(Orig_I, level, Lo_D, Hi_D);
img_enc1 = func_SPIHT_Enc(I_W1, max_bits, nRow*nColumn, level);
img_dec1 = func_SPIHT_Dec(img_enc1);
img_spiht = func_InvDWT(img_dec1, S1, Lo_R, Hi_R, level);
Q = 255;
MSE1 = sum(sum((img_spiht - Orig_I) .^ 2)) / nRow / nColumn;
psnr(i)= 10*log10(Q*Q/MSE1);
end
i=1:5
plot(0.2*i,psnr(i)); plot(0.2*i,psnr(i),'*'); hold off
XLABEL('rate(bpp)')
YLABEL('PSNR(DB)')
%plot(rate1,psnr,'*') %;hold on
% figure,plot(rate1,psnr,'*')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -