|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
I=imread('F:\xiongtou.bmp');%装入原始图像
I=im2double(I);
T=dctmtx(8);%计算离散余弦变换矩阵
b=blkproc(I,[8 8],'P1*x*P2',T,T');%对图像I的每个不同8*8数据块应用矩阵式‘P1*x*P2’进行处理,其中P1=T,P2=T’,计算二维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 0 0 0 0 0;
0 0 0 0 0 0 0 0]%二值掩模,用来压缩DCT系数
b2=blkproc(b,[8,8],'P1.*x',mask);%只保留DCT变换的10个系数
I2=blkproc(b2,[8,8],'P1*x*P2',T',T);%逆DCT变换,用来重构图像
Imshow(I),figure,imshow(I2);%显示原始图像I和压缩图像I2压缩前和压缩后的图像分别如图所示。
一个DCT变换的图象压缩程序 请问每个步骤是如何对应压缩理论的 也就是变换 量化 编码
小弟在这里多谢了 |
|