发布网友 发布时间:2022-04-21 22:24
共1个回答
热心网友 时间:2023-04-29 05:55
I
=
imread('cameraman.tif');
%
输入图像
I
=
im2double(I);
%
数据类型转换
T
=
dctmtx(8);
%
计算二维离散DCT矩阵
dct
=
@(x)T
*
x
*
T';
%
设置函数句柄
B
=
blkproc(I,[8
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
0
0
0
0
0
0
0
0
0
0
0
0
0];
B2
=
blkproc(B,[8
8],@(x)mask.*
x);
%
图像块处理
invdct
=
@(x)T'
*
x
*
T;
%
设置函数句柄
I2
=
blkproc(B2,[8
8],invdct);
%
图像块处理
imshow(I),
figure,
imshow(I2)
%
显示原始图像和压缩重构图像