x=imread('mj.jpg');
r=x(:,:,1);g=x(:,:,2);b=x(:,:,3);
xgray=0.2126*r+0.7152*g+0.0722*b;
figure(1);imagesc(xgray);colormap(gray)
title('original')
xza=zeros(600,600);
qy = [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];
for i=1:75
for j=1:75
xz=xgray(i*8-7:i*8,j*8-7:j*8);
xd=double(xz);
xc=xd-128;
y=dct(dct(xc')');
p=1;
q=p*8./hilb(8);
yq=round(y./q);
ydq=yq.*q;
xdq=idct(idct(ydq')');
xe=xdq+128;
xf=uint8(xe);
xza(i*8-7:i*8,j*8-7:j*8)=xf;
end
end
figure(3);imagesc(xza);colormap(gray)
title('p=1')
for i=1:75
for j=1:75
xz=xgray(i*8-7:i*8,j*8-7:j*8);
xd=double(xz);
xc=xd-128;
y=dct(dct(xc')');
p=10;
q=p*8./hilb(8);
yq=round(y./q);
ydq=yq.*q;
xdq=idct(idct(ydq')');
xe=xdq+128;
xf=uint8(xe);
xza(i*8-7:i*8,j*8-7:j*8)=xf;
end
end
figure(4);imagesc(xza);colormap(gray)
title('p=10')