主要内容

dct

离散余弦变换

描述

例子

y= DCT(X返回输入数组的酉离散余弦变换X.输出y具有相同的尺寸X.如果X那时有一个以上的维度dct对第一个大于1的数组维度进行操作。

y= DCT(XN零垫或截断相关维度X长度N在转换之前。

例子

y= DCT(XN暗淡计算沿尺寸的变换暗淡.输入维度并使用默认值N,指定第二个参数为空,[]

例子

y= DCT(___,'类型',dcttype指定要计算的离散余弦变换类型。看离散余弦变换获取详细信息。这个选项可以与前面的任何语法组合使用。

例子

全部折叠

找出一个序列中有多少DCT系数代表99%的能量。

X = (1:100) + 50*cos(1:100)*2*pi/40;X = dct (X);[XX,印第安纳州]=排序(abs (X),“下降”);i = 1;rang(x(ind(1:i)))/ rang(x)<0.99 i = i + 1;结尾需要=我;

重构信号,并将其与原始信号进行比较。

X(印第安纳州(需要+ 1:结束))= 0;xx = idct (X);情节([x, xx]”)传说('原来的',['重建,N = 'INT2STR(需要)],......“位置”“东南”

图包含轴对象。轴对象包含2个类型的类型。这些对象代表原始,重建,n = 3。

装入一个文件,其中包含用于铸造一枚便士的模具的深度测量值。这些数据由美国国家标准与技术研究所(National Institute of Standards and Technology)采集,并在一个128 × 128的网格上进行采样。显示数据。

加载一分钱(2) colormap冲浪(P)视图阴影interp.ij广场

计算图像数据的离散余弦变换。首先对行进行操作,然后对列进行操作。

Q = dct (P, [], 1);R = dct (Q, [], 2);

查找DCT系数的一部分包含图像中的99.98%。

x = r(:);[〜,IND] =排序(ABS(x),“下降”);coeffs = 1;rang(x(ind(1:coeffs)))/ narm(x)<0.9998 coeffs = coeffs + 1;结尾fprintf('%d系数的%d是充分的\n'多项式系数,元素个数(R))
16384系数的3572就足够了

仅使用必要的系数重建图像。

r(abs(r)
                   

显示重建图像。

冲浪(T)视图(2)阴影interp.ij广场

装入一个文件,其中包含用于铸造一枚便士的模具的深度测量值。这些数据由美国国家标准与技术研究所(National Institute of Standards and Technology)采集,并在一个128 × 128的网格上进行采样。显示数据。

加载一分钱(2) colormap冲浪(P)视图阴影interp.ij广场

使用DCT-1变量计算图像数据的离散余弦变换。首先对行进行操作,然后对列进行操作。

q = DCT(p,[],1,“类型”1);R = dct (Q, [], 2,“类型”1);

反转变换。截断逆转录,使得重建图像的每个维度是原始长度的一半。

s = IDCT(r,尺寸(p,2)/ 2,2,“类型”1);T = idct(年代,大小(P - 1) / 2, 1,“类型”1);

再次反转变换。零焊接逆,使得重建图像的每个维度是原始长度的两倍。

U = IDCT(R,尺寸(p,2)* 2,2,“类型”1);V = idct (U,大小(P - 1) * 2, 1,“类型”1);

显示原始和重建图像。

冲浪(V)查看(2)阴影interp.抓住冲浪(P)视图(2)阴影interp.冲浪(T)视图(2)阴影interp.抓住ij平等的

输入参数

全部折叠

输入数组,指定为真实或复数值矢量,矩阵,N-d array,或GPUArray.对象。

在GPU上运行matlab函数(并行计算工具箱)GPU支金宝app持情况(并行计算工具箱)有关GPUArray.(并行计算工具箱)对象。

例子:罪(2 *π* (0:255)/ 4)将正弦信号指定为行向量。

例子:罪(2 *π*[0.1,0.3]*(0:39))”指定双通道正弦信号。

数据类型:单身的|
复数支持:金宝app是的

转换长度,指定为一个正整数标量。

数据类型:单身的|

维度运行,指定为正整数标量。

数据类型:单身的|

离散余弦变换类型,指定为从1到4的正整数标量。看离散余弦变换的定义的不同类型的DCT。

数据类型:单身的|

输出参数

全部折叠

离散余弦变换,返回实值或复数向量,矩阵,N-d array,或GPUArray.对象。

更多关于

全部折叠

离散余弦变换

离散余弦变换(DCT)与离散的傅里叶变换密切相关。您通常可以从几个DCT系数中非常准确地重建序列。此属性对需要数据减少的应用程序很有用。

DCT有四种标准变体。对于一个信号X的长度N,用δKℓ.Kronecker Delta,变换由以下定义:

  • DCT-1:

    y K. = 2 N - 1 σ. N = 1 N X N 1 1 + δ N 1 + δ N N 1 1 + δ K. 1 + δ K. N 因为 π N - 1 N - 1 K. - 1

  • DCT-2:

    y K. = 2 N σ. N = 1 N X N 1 1 + δ K. 1 因为 π 2 N 2 N - 1 K. - 1

  • DCT-3:

    y K. = 2 N σ. N = 1 N X N 1 1 + δ N 1 因为 π 2 N N - 1 2 K. - 1

  • DCT-4:

    y K. = 2 N σ. N = 1 N X N 因为 π 4. N 2 N - 1 2 K. - 1

该系列索引N= 1K.= 1与往常不同N= 0K.= 0,因为matlab.®矢量从1到N而不是0到N- 1

DCT的所有变体都是(或,等效,正交):找到他们的反转,交换机K.N在每一个定义。DCT-1和DCT-4本身就是它们的反面。DCT-2和DCT-3是相反的。

参考文献

[1] Jain,A. K.数字图像处理的基础.Englewood Cliffs, NJ: Prentice-Hall, 1989。

[2] Oppenheim,Alan V.,Ronald W. Schafer和John R. Buck。离散时间信号处理.第二次。上部鞍河,NJ:Prentice Hall,1999。

[3] Pennebaker,W. B.和J.L. Mitchell。JPEG静止图像数据压缩标准.纽约:van Nostrand Reinhold,1993年。

扩展能力

也可以看看

||(图像处理工具箱)|(图像处理工具箱)

之前介绍过的R2006a