📄 mydct_good.m
字号:
function X_dct=mydct_good(x,N)
%计算dct变换
%N必须是2的整数次幂,表示零填充后的矩阵大小
[row,col]=size(x);
%如果设定的填充大小比原始图像的尺寸小,那么设定的填充尺寸不合理
if(N<row)|(N<col)
disp('setted range isnot reasonable');
end
%补零
x(row+1:N,:)=0;
x(1:row,col+1:N)=0;
%求T矩阵
Tpq=zeros(N,N);
Tpq(1,:)=1/sqrt(N);
p=1:N-1;
q=0:N-1;
Tpq(p+1,q+1)=sqrt(2/N)*cos(p'*(2*q+1)*pi/(2*N));
%由T*x*T'得到DCT变换
X_dct=Tpq*x*Tpq';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -