问题标签 [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 回答
3072 浏览

integer - 仅使用整数的 DCT

我需要实现 DCT 变换,但我不能使用浮点或双精度类型。互联网上有很多实现,但都使用浮点数。

有谁知道整数 DCT 的任何来源?

PS我需要它来实现颜色布局描述符。

0 投票
1 回答
417 浏览

image-processing - 将 jpeg dct 系数转换为 ycbcr 系数

正如您在下面看到的,我有一个 8*8 的 dct 系数块:

我想得到真正的 y 系数,在对这个系数应用 idct 并添加 128 之后,结果是这样的:

但我期待得到这个结果:

我不知道我在这个过程中缺少什么。

0 投票
1 回答
11123 浏览

image - 图像的离散余弦变换 (DCT)

我在 Matlab 中研究计算图像的 DCT(离散余弦变换)的函数。我不知道我的代码中有什么不起作用,但我得到了一个具有相同数字的输出图像。我想将这个公式用于我的 DCT。

请有任何想法。

0 投票
1 回答
320 浏览

cuda - 关于 DCT8x8 CUDA 示例的问题

我对 Nvidia 提供的名为 DCT8x8 的示例有疑问,该示例应用于图像以并行执行算法。更多信息:http: //developer.download.nvidia.com/compute/DevZone/C/html/C/src/dct8x8/doc/dct8x8.pdf

该代码执行正向 DCT,并在 BMP 图像上反向执行。

我的第一个问题是,有没有办法计算获得 JPG 的唯一正向变换?

其次,代码中有几个部分我不明白我希望熟悉DTC和CUDA的人可以帮助我。

首先:在文件 dtc8x8_gold.cpp 中,程序使用以下矩阵:

有人可以解释一下为什么要使用这些值以及使用它们的原因吗?

在文件 dct8x8_kernel_quantization.cu 中还有另一个 Q 矩阵,我的猜测是表示量化的阈值,如果是,为什么是这些值?

我的最后一个问题是,我觉得这些值是为“barbara.bmp”图像指定的,如果为真,不会让我使用与默认图像不同的图像,这就是我想要做的,除了理解代码。

非常感谢您的帮助!

扫罗

0 投票
1 回答
662 浏览

opencv - 将 fftw 库调用转换为 OpenCV 调用

由于 OpenCV 的许可更宽松,我正在尝试使用 OpenCV 而不是 fftw。在 FFTW fftwf_plan_r2r_2d() 和 FFTW_REDFT01 等价物的帮助下

我知道它目前是错误的,这只是我最初的想法。我需要一些指导才能通过 OpenCV 获得 fftw 的确切功能,我正在为可以帮助我做到这一点的人提供赏金。

我只需要那些特定的功能,我现在对转换其他 fftw 功能不感兴趣。

谢谢!

任何人?

H:

源代码:

0 投票
1 回答
2045 浏览

matlab - 二维离散余弦变换

我在 Matlab 中检查了dct函数,但它只在矩阵输入的列中实现了 DCT:

Matlab中是否有可以执行2D DCT的函数,或者是否有一些算法可以应用dct,进行一些变换,然后获得2D DCT?

0 投票
2 回答
2579 浏览

matlab - matlab中的图像隐写术

我是 matlab 的新手,我得到了最后一个项目,使用 DWT 和 DCT 组合来制作数字图像隐写术。在这个项目中,我使用 2-L DWT,然后使用 8x8 块 DCT 并使用 DCT 嵌入图像。

这是我的问题:

  1. matlab代码中如何选择LH子带?
  2. 如何在 8x8 块 dct 的封面图像中嵌入图像并逐步说明?
0 投票
2 回答
1076 浏览

c# - 32x32 矩阵的 BinDCT 实现

所以我玩了一下 DCT 实现,并注意到由于必要的乘数计算,它们(相对)慢。

在谷歌搜索了一下之后,我遇到了 BinDCT,它可以很好地近似 DCT,并且只使用位移。

在扫描有关它的论文时(http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.7.834&rep=rep1&type=pdfhttp://www.docstoc.com/docs/130118150/Image -Compression-Using-BinDCT)并阅读我在 ohlo 上找到的一些代码(http://code.ohloh.net/file?fid=vz-HijUWVLFS65NRaGZpLZwZFq8&cid=mt_ZjvIU0Us&s=&fp=461906&projSelected=true#L0),我注意到只有8x8 矩阵的实现。

我正在为 32x32 矩阵寻找此 BinDCT 的实现,以便我可以在感知散列算法 (phash) 的更快变体中使用它。

我不是数学家,虽然我试图理解论文中发生的事情和我发现的 c 代码,但我无法理解如何转换这个实现以应用于 32x32 矩阵。

有人写过吗?甚至可能吗?

我知道扩展实现需要更多的位移和 tmp 变量。但是,虽然我可以尝试反复试验,但我什至不了解理论,所以我永远不知道我是否得到了正确的结果。

我是用 C# 编写的,但是任何语言都足够了,因为它都是基本操作并且可以很容易地翻译。

0 投票
2 回答
253 浏览

matlab - DCT 行而不是列

我熟悉在 matlab 中使用 fft 和代码

fft(信号,[],n)

其中 n 告诉从 Matlab 文档中应用 fft 的维度:http: //www.mathworks.it/it/help/matlab/ref/fft.html

我想对 dct 做同样的事情。

这可能吗?我找不到任何有用的信息。

谢谢您的帮助。

路易吉

0 投票
0 回答
89 浏览

java - 使用 BufferedImage 在 Java 中读取和写入 JPEG

我有一个使用 BufferedImage 类中的 getRGB() 方法读取图像的程序,然后我执行一系列步骤(DCT 转换为 8x8 块,量化,然后是逆),然后用再次使用 setRGB() 将 BufferedImage 转换为 JPEG 文件。

这与良好的结果图像完美结合。但是当我运行测试仪从原始图像和形成的图像中打印出 8x8 系数的最后量化值时,这些值似乎是 1 或 2?

例如:

原始数量。系数:-27、2、1、0、-1、0、0、0 等

结果量。系数:-28、1、0、0、0 等

任何人都可以弄清楚为什么会发生这种情况,或者这是否正常?我希望这个问题很清楚。谢谢