1.一维DCT变换
一维的DCT变换共有8种,其中最实用的是第二种形式,公式如下:
其中c(u)是加上去一个系数,为了能使DCT变换矩阵成为正交矩阵,在后面二维变换将看到他的作用。N是f(x)的总数。相比其他几种形式,他的运算还是比较简单的,因此也用的比较广。
clc
clear
in=1:8;
N=8;
for i=0:N-1
if i==0
a=sqrt(1/N);
else
a=sqrt(2/N);
end
sum=0;
for j=0:N-1
sum=sum+in(j+1)*cos(pi*(j+0.5)*i/N);
end
F(i+1)=a*sum;
end
F
FF=dct(in)
F是使用上面的公式进行变换,FF是用matlab自带的dct函数变换