实验三 图像压缩
程序:
P=imread('66.jpg');
I=rgb2gray(P);
I1=imresize(I,[256,256]);
subplot(221);imshow(I1,[]);title('原图');
I2=im2double(I1);
T=dctmtx(8);
B=blkproc(I2,[8 8],'P1*x*P2',T,T');
mask=[1 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 ];
B2=blkproc(B,[8 8],'P1.*x',mask);
I3=blkproc(B2,[8 8],'P1*x*P2',T',T);
subplot(222);imshow(I3,[]);title('压缩比为 16 的压缩后图像');
mask=[1 1 1 1 0 0 0 0
1 1 1 0 0 0 0 0
1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 ];
B2=blkproc(B,[8 8],'P1.*x',mask);
I4=blkproc(B2,[8 8],'P1*x*P2',T',T);
subplot(223);imshow(I4,[]);title('压缩比为 8 的压缩后图像');
mask=[1 1 1 1 0 1 0 0
1 1 1 0 0 1 0 0
1 1 0 0 0 0 0 0
1 0 0 0 1 0 0 0
0 0 1 0 1 0 0 0
0 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 ];
B2=blkproc(B,[8 8],'P1.*x',mask);
I5=blkproc(B2,[8 8],'P1*x*P2',T',T);
subplot(224);imshow(I5,[]);title('压缩比为 2 的压缩后图像');
评论0