精品文档---下载后可任意编辑一.目的要求掌握 Matlab 图像图像压缩技术原理和方法。理解有损压缩和无损压缩的概念,了解几种常用的图像压缩编码方式,利用 matlab 进行图像压缩算法验证。二.实验内容1、观察颜色映像矩阵的元素>> hot(8)ans =0.3333 0 00.6667 0 01.0000 0 01.0000 0.3333 01.0000 0.6667 01.0000 1.0000 0数据显示第一行是 1/3 红色,最后一行是白色。2、pcolor 显示颜色映像>> n=16;>> colormap(jet(n));>> pcolor([1:n+1;1:n+1]);>> title('Using Pcolor to Display a Color )Map'); 图 2 显示颜色映像3、colorbar 显示当当前坐标轴的颜色映像>> [x,y,z]=peaks;>> mesh(x,y,z);>> colormap(hsv);>> axis([-3 3 -3 3 -6 8]);>> colorbar;精品文档---下载后可任意编辑 图 3 显示当前坐标轴的颜色映像4、图像格式转换g=rgb2gray(I);g=rgb2gray(I);>> imshow(g),colorbar; 图 4-2 转换后的图像5、求解图像的二唯傅里叶频谱I=imread('cameraman.tif');>> imshow(I)>>J=fftshift(fft2(I));>> figure;>> imshow(log(abs(J)),[8,10])精品文档---下载后可任意编辑 图 5-2 频谱图将图像更换一下I=imread('pout.tif');imshow(I)J=fftshift(fft2(I));figure;imshow(log(abs(J)),[8,10]) 图 5-3 原始图 图 5-4 频谱图6、利用 DCT 变换进行图像压缩RGB=imread('peppers.png');>> I=rgb2gray(RGB);>> J=dct2(I);>> imshow(log(abs(J)),[]),colormap(jet(64)),colorbar精品文档---下载后可任意编辑 图 6-1 DCT 变换后二维变换谱J(abs(J)<10)=0;>> K=idct2(J); %逆变换>> figure,imshow(I)figure,imshow(K,[0 255]) 图 6-2 原始图像 图 6-3 压缩还原后的图像认真看我们可以发现,压缩还原后的图像比较模糊。7、利用离散余弦变换进行 JPEG 图像压缩>> I=imread('cameraman.tif');>> I=im2double(I);>> T=dctmtx(8); %产生二维 DCT 变换矩阵>> B=blkproc(I,[8 8],'P1.*x',T,T'); %改成点乘>> mask=[1 1 1 1 0 0 0 0;1 1 1 0 0 0 0 0;1 1 0 0 0 0 0 0;1 0 0 0 0 0 0 0 ;zeros(4,8)] %二值掩膜用来压缩 DCT 系数mask = 1 1 1 1 0 0 0 0精品文档---下载后可任意编辑 1 1 1 0 0 0 0 0 1 1 0 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...