📄 dct_2d.m
字号:
%二维DCT变换
function y = dct_2D(x)
%获取图像矩阵大小
size_x = size(x);
height = size_x(1,1);
width = size_x(1,2);
%计算所需计算的2的次方的矩阵
h2 = ceil(log2(height));
w2 = ceil(log2(width));
%实际计算的矩阵大小(h,w)
h = 2^h2;
w = 2^w2;
%得到补0的矩阵
X = zeros(h,w);
X(1:height,1:width) = x;
%可分离,一维一维计算
%中间结果Y
Y = zeros(h,w);
for i=1:h
Y(i,:) = dct_1D(X(i,:));
end
%最终结果y
y = zeros(h,w);
for i=1:w
y(:,i) = ( dct_1D(Y(:,i)') )';
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -