📄 spihttry.m
字号:
clc
clear all
%load woman;
%Orig_I=X(1:256,1:256);
%axis square;
%----------- Input ----------------
Orig_I = func_ReadRaw('lena512.raw',512*512,512, 512);
Orig_I=Orig_I(1:256,1:256);
rate = 0.1;
figure
subplot(121);
colormap gray(256);
image(Orig_I);
%----------- Pre-processing ----------------
OrigSize = size(Orig_I, 1);
max_bits = floor(rate * OrigSize^2);
OutSize = OrigSize;
image_spiht = zeros(size(Orig_I));
% "image " is the input of codec
[nRow, nColumn] = size(Orig_I);
%----------- Wavelet Decomposition ----------------
n = size(Orig_I,1);
n_log = log2(n);
level = n_log;
% wavelet decomposition level can be defined by users manually.
type = 'bior4.4';
[Lo_D,Hi_D,Lo_R,Hi_R] = wfilters(type);
[I_W, S] = func_DWT(Orig_I, level, Lo_D, Hi_D);
%----------- Coding ----------------
img_enc = func_SPIHT_Enc(I_W, max_bits, nRow*nColumn, level);
%----------- Decoding ----------------
img_dec = func_SPIHT_Dec(img_enc);
%----------- Wavelet Reconstruction ----------------
img_spiht = func_InvDWT(img_dec, S, Lo_R, Hi_R, level);
%--------------output image--------------
subplot(122);
colormap gray(256);
image(img_spiht);
%----------- PSNR analysis ----------------
p =psnr(Orig_I,img_spiht);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -