dct_2d.m
来自「用离散余弦变换实现JPEG编码」· M 代码 · 共 27 行
M
27 行
%二维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 + =
减小字号Ctrl + -
显示快捷键?