主要内容

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,IND] =排序(ABS(x),“下降”);我= 1;尽管rang(x(ind(1:i)))/ rang(x)<0.99 i = i + 1;结尾需要=我;

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

x(IND(需要+ 1:结束))= 0;xx = IDCT(x);绘图([x; xx]')传奇('原来的',['重建,n ='INT2STR(需要)],......'地点''东南'

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

加载包含用于薄荷的深度测量的文件,用于薄荷为美国Penny。在国家标准和技术研究所采取的数据在128×128电网上采样。显示数据。

加载一分钱冲浪(P)视图(2)Colormap阴影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系数是足够的。,coeffs,numel(r))
16384系数的3572就足够了

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

r(abs(r)
                   

显示重建的图像。

冲浪(T)视图(2)阴影interp.IJ.正方形离开

加载包含用于薄荷的深度测量的文件,用于薄荷为美国Penny。在国家标准和技术研究所采取的数据在128×128电网上采样。显示数据。

加载一分钱冲浪(P)视图(2)Colormap阴影interp.IJ.正方形离开

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

q = DCT(p,[],1,'类型',1);r = dct(q,[],2,'类型',1);

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

s = IDCT(r,尺寸(p,2)/ 2,2,'类型',1);T = IDCT(s,尺寸(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.(并行计算工具箱)对象。

例子:SIN(2 * PI *(0:255)/ 4)指定作为行向量的正弦曲线。

例子:罪(2 * pi * [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 COS. π N - 1 N - 1 K. - 1

  • DCT-2:

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

  • DCT-3:

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

  • DCT-4:

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

该系列索引N= 1K.= 1而不是通常的N= 0.K.= 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之前介绍