% Muestra el efecto de diferentes matrices de cuantificación

% Nota: Utiliza image2.bmp y quant_mat.m

imag = imread('image2.bmp');
imag = im2double(imag);

% Imagen original
figure(1)
imshow( imag )
title('Imagen original', 'FontSize', 20)

% Sólo cuantifica a los enteros
Q = ones(8);
figure(2)
imshow( quant_mat(imag, Q) )
title('Q_{ij}=1  (cuantificación -> enteros)', 'FontSize', 20)

% Matriz estándar
Q = [
 16  11  10  16  24   40   51   61;
 12  12  14  19  26   58   60   55;
 14  13  16  24  40   57   69   56;
 14  17  22  29  51   87   80   62;
 18  22  37  56  68   109  103  77;
 24  35  55  64  81   104  113  92;
 49  64  78  87  103  121  120  101;
 72  92  95  98  112  100  103  99];
figure(3)
imshow( quant_mat(imag, Q) )
title('Matriz estándar', 'FontSize', 20)

% Todo 100
Q = 100*ones(8);
figure(4)
imshow( quant_mat(imag, Q) )
title('Q_{ij}=100', 'FontSize', 20)

% Matriz aleatoria [1,300]
Q = ones(8)+floor( 300*rand(8) );
figure(5)
imshow( quant_mat(imag, Q) )
title('Matriz aleatoria [1,300]', 'FontSize', 20)


