%*********彩色图像压缩**********%
%****DCT 离散余弦变换**********%
clear,clc;
map=imread('me.jpg');
% map=rgb2gray(map);
map1=double(map);
for k=1:3%对R,G,B三个分量分别做变换,彩色图像一般为 m*n*3
    g(:,:,k)=dct2(map1(:,:,k));
end
if abs(g)<0.1
    g=0;
end
% g(abs(g)<0.1)=0;%舍弃接近0的值,以至于重构图像时不会引起图像质量的下降。
for k=1:3
    g1(:,:,k)=idct2(g(:,:,k));%逆变换
end
map2=uint8(g1);%数据转换,因为图像是uint8
imwrite(map2,'yasume.jpg');%另存
subplot(1,2,1),imshow(map);
subplot(1,2,2),imshow(map2);