Я работаю над сжатием изображений на основе вейвлета в MATLAB... Я построил приведенный ниже код. Все работает нормально, но сжатое изображение отображается как простое черно-белое изображение. Если я задаю уровень декомпозиции 1, он показывает сжатое изображение как полностью черное, для уровня декомпозиции: 2 он дает полностью белое изображение. Для уровня декомпозиции 3 он дает 3/4 белого и 1/4 черного цвета. . Пожалуйста помоги. Код, который я использовал,
clear all;
close all;
input_image1=imread('C:\Users\Prem\Documents\MATLAB\mandrill.jpg');
input_image=imnoise(input_image1,'speckle',.01);
figure;
imshow(input_image);
n=input('enter the decomposition level=');
[Lo_D,Hi_D,Lo_R,Hi_R] = wfilters('haar');
[c,s]=wavedec2(input_image,n,Lo_D,Hi_D);
disp(' the decomposition vector Output is');
disp(c);
[thr,nkeep] = wdcbm2(c,s,1.5,3*prod(s(1,:)));
[compressed_image,TREED,comp_ratio,PERFL2] =wpdencmp(thr,'s',n,'haar','threshold',5,1);
disp('compression ratio in percentage');
disp(comp_ratio);
re_ima1 = waverec2(c,s,'haar');
re_ima=uint8(re_ima1);
subplot(1,3,1);
imshow(input_image);
title('i/p image');
subplot(1,3,2);
imshow(compressed_image);
title('compressed image');
subplot(1,3,3);
imshow(re_ima);
title('reconstructed image');