Matlab计算二维(逆)离散余弦变换(DCT,IDCT)
博客专区 > tigerBin 的博客 > 博客详情
Matlab计算二维(逆)离散余弦变换(DCT,IDCT)
tigerBin 发表于6个月前
Matlab计算二维(逆)离散余弦变换(DCT,IDCT)
  • 发表于 6个月前
  • 阅读 97
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

dct2(x)用于计算二维的DCT,idct2(x)用于计算二维的IDCT

dctmtx(x) 用于生成 x 维的离散余弦变换矩阵

 mcu=
   139   144   149   153   155   155   155   155
   144   151   153   156   159   156   156   156
   150   155   160   163   158   156   156   156
   159   161   162   160   160   159   159   159
   159   160   161   162   162   155   155   155
   161   161   161   161   160   157   157   157
   162   162   161   163   162   157   157   157
   162   162   161   161   163   158   158   158
dct2(mcu)

ans =

   1.0e+03 *

    1.2596   -0.0010   -0.0121   -0.0052    0.0021   -0.0017   -0.0027    0.0013
   -0.0226   -0.0175   -0.0062   -0.0032   -0.0029   -0.0001    0.0004   -0.0012
   -0.0109   -0.0093   -0.0016    0.0015    0.0002   -0.0009   -0.0006   -0.0001
   -0.0071   -0.0019    0.0002    0.0015    0.0009   -0.0001   -0.0000    0.0003
   -0.0006   -0.0008    0.0015    0.0016   -0.0001   -0.0007    0.0006    0.0013
    0.0018   -0.0002    0.0016   -0.0003   -0.0008    0.0015    0.0010   -0.0010
   -0.0013   -0.0004   -0.0003   -0.0015   -0.0005    0.0017    0.0011   -0.0008
   -0.0026    0.0016   -0.0038   -0.0018    0.0019    0.0012   -0.0006   -0.0004
dct = dctmtx(8)

dct =

    0.3536    0.3536    0.3536    0.3536    0.3536    0.3536    0.3536    0.3536
    0.4904    0.4157    0.2778    0.0975   -0.0975   -0.2778   -0.4157   -0.4904
    0.4619    0.1913   -0.1913   -0.4619   -0.4619   -0.1913    0.1913    0.4619
    0.4157   -0.0975   -0.4904   -0.2778    0.2778    0.4904    0.0975   -0.4157
    0.3536   -0.3536   -0.3536    0.3536    0.3536   -0.3536   -0.3536    0.3536
    0.2778   -0.4904    0.0975    0.4157   -0.4157   -0.0975    0.4904   -0.2778
    0.1913   -0.4619    0.4619   -0.1913   -0.1913    0.4619   -0.4619    0.1913
    0.0975   -0.2778    0.4157   -0.4904    0.4904   -0.4157    0.2778   -0.0975
idct = dct'

idct =

    0.3536    0.4904    0.4619    0.4157    0.3536    0.2778    0.1913    0.0975
    0.3536    0.4157    0.1913   -0.0975   -0.3536   -0.4904   -0.4619   -0.2778
    0.3536    0.2778   -0.1913   -0.4904   -0.3536    0.0975    0.4619    0.4157
    0.3536    0.0975   -0.4619   -0.2778    0.3536    0.4157   -0.1913   -0.4904
    0.3536   -0.0975   -0.4619    0.2778    0.3536   -0.4157   -0.1913    0.4904
    0.3536   -0.2778   -0.1913    0.4904   -0.3536   -0.0975    0.4619   -0.4157
    0.3536   -0.4157    0.1913    0.0975   -0.3536    0.4904   -0.4619    0.2778
    0.3536   -0.4904    0.4619   -0.4157    0.3536   -0.2778    0.1913   -0.0975
ans = dct * mcu * idct

ans =

   1.0e+03 *

    1.2596   -0.0010   -0.0121   -0.0052    0.0021   -0.0017   -0.0027    0.0013
   -0.0226   -0.0175   -0.0062   -0.0032   -0.0029   -0.0001    0.0004   -0.0012
   -0.0109   -0.0093   -0.0016    0.0015    0.0002   -0.0009   -0.0006   -0.0001
   -0.0071   -0.0019    0.0002    0.0015    0.0009   -0.0001   -0.0000    0.0003
   -0.0006   -0.0008    0.0015    0.0016   -0.0001   -0.0007    0.0006    0.0013
    0.0018   -0.0002    0.0016   -0.0003   -0.0008    0.0015    0.0010   -0.0010
   -0.0013   -0.0004   -0.0003   -0.0015   -0.0005    0.0017    0.0011   -0.0008
   -0.0026    0.0016   -0.0038   -0.0018    0.0019    0.0012   -0.0006   -0.0004

 

标签: MATLAB DCT IDCT
共有 人打赏支持
粉丝 0
博文 48
码字总数 14652
×
tigerBin
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: