天天看點

DCT變換公式一維DCT一維IDCT

一維DCT

F ( u ) = c ( u ) ∑ i = 0 N − 1 f ( i ) c o s ( ( i + 0.5 ) π N u ) F(u)=c(u)\sum_{i=0}^{N-1}{f(i)cos(\frac{(i+0.5)\pi}{N}u)} F(u)=c(u)∑i=0N−1​f(i)cos(N(i+0.5)π​u)

c ( u ) = { 1 N u = 0 2 N u ≠ 0 c(u)=\left\{ \begin{aligned} \sqrt{\frac{1}{N} } && u=0\\ \sqrt{\frac{2}{N} } && u\neq 0\\ \end{aligned} \right. c(u)=⎩⎪⎪⎪⎨⎪⎪⎪⎧​N1​

​N2​

​​​u=0u​=0​

f ( i ) f(i) f(i)為原始的信号,F(u)是DCT變換後的系數,N為原始信号的點數,c(u)可以認為是一個補償系數,可以使DCT變換矩陣為正交矩陣

一維IDCT

f ( i ) = c ( u ) ∑ u = 0 N − 1 F ( u ) c o s ( ( i + 0.5 ) π N u ) f(i)=c(u)\sum_{u=0}^{N-1}{F(u)cos(\frac{(i+0.5)\pi}{N}u)} f(i)=c(u)∑u=0N−1​F(u)cos(N(i+0.5)π​u)

c ( u ) = { 1 N u = 0 2 N u ≠ 0 c(u)=\left\{ \begin{aligned} \sqrt{\frac{1}{N} } && u=0\\ \sqrt{\frac{2}{N} } && u\neq 0\\ \end{aligned} \right. c(u)=⎩⎪⎪⎪⎨⎪⎪⎪⎧​N1​

​N2​

​​​u=0u​=0​

f ( i ) f(i) f(i)為原始的信号,F(u)是DCT變換後的系數,N為原始信号的點數,c(u)可以認為是一個補償系數

過程推導:詳解離散餘弦變換(DCT)

更多參考:DCT變換、DCT反變換、分塊DCT變換

DCT變換的基函數與基圖像

DCT變換詳解(附代碼)

繼續閱讀