问题标签 [dct]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1778 浏览

visual-c++ - JPEG 提取 DCT 表

我正在使用 VS2008、MFC 和 WIC 开发图像查看器/编辑器,我想在图像处理后尽可能地将 jpeg 重新压缩(质量压缩)到其原始图像。有谁知道如何提取亮度和色度表以在
http://msdn.microsoft.com/en-us/library/gg430026%28v=vs.85%29.aspx中设置而 无需使用额外的大型库(如libjpeg)?

0 投票
1 回答
642 浏览

algorithm - 离散余弦变换公式视差

好吧,我正在编程需要使用 DCT 的东西。我为 DCT 公式找到了 2 个资源:

数学作品

维基百科

最初我使用的是维基百科版本的 DCT-II。在 wiki 页面的 DCT-II 部分中,写到一些作者进一步将 X0 项乘以 1/√2 并将结果矩阵乘以整体比例因子,这使得 DCT-II 矩阵正交,但打破了直接对应于半移位输入的实偶 DFT。而 mathworks 网站只这样做。

这个属性在说什么?

0 投票
2 回答
30165 浏览

python - 如何将 DCT 应用于 Python 中的图像?

我想对 Python 中的图像应用离散余弦变换(以及逆变换),我想知道最好的方法是什么以及如何做。我看过 PIL 和 OpenCV,但我仍然不明白如何使用它。

0 投票
1 回答
1327 浏览

signal-processing - MATLAB - 将训练数据转换为频谱图的麻烦

我是一名学生,几个月前刚接触信号处理。我为我的项目选择了“A Novel Fuzzy Approach to Speech Recognition”(你可以在谷歌上搜索可下载的版本)。

我在将训练数据转换为已通过 mel 过滤器的频谱图时有点卡住了。

我将用于我的 mel-filterbank,当然稍作修改。

然后我编写了这个简单的代码来制作我的训练数据的频谱图:

我得到的只是这样,不像纸上说的那样::

在此处输入图像描述

请让我知道我的代码或频谱图是正确的。如果是这样,我该怎么做才能使我的频谱图像纸上的一样?如果没有,请告诉我哪里错了

还有一个问题,FFT 的长度可以这么大吗?因为当我尝试降低它时,我的代码会出错。

0 投票
1 回答
829 浏览

transform - vDSP 和离散余弦变换

我是 FFT、DCT 等的新手。最近,我正在查看 Apple 提供的 vDSP 库的文档,但找不到 DCT 实现。我想知道是否有人知道使用 vDSP 中提供的 FFT 函数之一计算 DCT 的方法?

一点上下文。我正在根据我一直在阅读的图形纸构建图像处理实现。他们提到在执行一些图像采样后使用 DCT。

如果可能的话,我真的很想利用 vDSP 的速度。

0 投票
3 回答
29582 浏览

c - 离散余弦变换 DCT 实现 C

我试图在 C 中实现正向和反向离散余弦变换(DCT)。代码是通过 dct() 函数将单个输入像素块转换为变换矩阵,然后通过 idct( ) 功能。请参阅随附的代码。我的 idct 输出是 244、116、244、116 等的连续值。从 idct 值的外观来看,我的程序似乎无法正常工作。有人可以帮我看看我的结果是什么应该期待每个功能之后?显然,在 idct 之后,我应该非常接近原始输入矩阵。

谢谢

0 投票
1 回答
566 浏览

c - 解压缩在中间停止并且输出文件用零填充(黑色像素)?

我正在尝试对 bmp(位图)文件应用 DCT(离散余弦变换)压缩。我有我在 Turbo C++ 中运行的 ac 文件。这实际上并没有压缩,但我试图实现 DCT 和 IDCT。代码如下:

这是我用作输入的图像 输入图像

(我 srry 网站将 bmp 转换为 png。您可以将其转换回 bmp 以使用它)这是生成的图像:

输出不正确

创建的文件college3.bmp 大小为200x160 和93.8 kB,但直到图像的四分之一它已经正确解码了系数,但后来文件被黑色像素填充。我已经截取了 o/p 的屏幕截图,因为它在上传时说不是有效的 bmp。自 2004 年 2 月以来,我一直在处理这个问题。如果有人可以告诉我哪里有错误,我将非常感激。我分析了输出文件,并在像素开始变黑的地方找到了一个 EOF。我阅读了有关该主题的其他一些问题,发现转换因子 ci,cj 使用不当。在编码时,我也对索引 x、y、i 和 j 感到困惑。所以我希望我能在几天内解决这个问题。

0 投票
2 回答
11757 浏览

c++ - 寻找 8x8(或 nxn)离散余弦变换 (DCT)/IDCT 伪代码

我已经在 Google 上搜索了一段时间,以找到一个相当高效的 8x8(或 nxn)DCT 算法的伪代码,但我什么也找不到!

我实施了幼稚的方法,执行时间太长了。

如果您可以发布一些伪代码或参考一本好书/文档/网站,那将很有帮助。

C 或 C++ 示例会更好!

0 投票
1 回答
3089 浏览

c - 尝试实现 dct 8*8 矩阵的逆

我设法计算了一个 8*8 矩阵的 dct ,但我在做逆时遇到了麻烦。任何人都可以看看这段代码并告诉我我现在在做什么。我应该得到与以前完全相同的值,但我得到不同的值。我正在读取来自 csv 文件的输入并将其放入另一个 csv 文件。它用c编程

原始矩阵是:

dct 是:

计算的idct应该和原来的一样

0 投票
2 回答
2148 浏览

c - 这种一维 IDCT 的实现是如何工作的?

我有一个反离散余弦变换的实现,我试图弄清楚他们是如何得到这个代码的。到目前为止,我发现这可能是针对DCT 而不是 DFT(离散傅立叶变换)的Cooley-Tukey radix-2 及时抽取的优化实现。

但是,我仍然不知道每个阶段到底会发生什么。我认为 Wx 常数可能是旋转因素。

任何人都可以提供对解释的参考,或对此代码提供一些解释吗?