【发布时间】:2011-05-08 16:34:27
【问题描述】:
我需要一个 Java 库,代码 sn-p,... 来获取频率分布 JPEG 文件的 64 个 DCT 系数。
有什么想法吗?谢谢!
【问题讨论】:
我需要一个 Java 库,代码 sn-p,... 来获取频率分布 JPEG 文件的 64 个 DCT 系数。
有什么想法吗?谢谢!
【问题讨论】:
如果您对特定文件的分发感兴趣,那么您可以尝试将其转换为 bmp 并使用我在问题中提供的代码:
Decompression stops inbetween and output file filled with zeros(BLACK PIXELS)?
您可能需要弱化它才能使用 java。这个想法是将所有 64 个系数存储在每个 8*8 块的数组中。然后计算每个系数的每个值的频率,例如 0,0(DC)或 0,1 或 8,8(最高频率),并在 y 轴上绘制频率,在 x 轴上绘制值。您将获得 64 个图,每个系数一个。
【讨论】:
似乎没有简单的答案来直接从 JPEG 文件中获取 DCT 系数。解压缩图像并重新应用 DCT 变换是一种合理的近似,但它确实会引入舍入误差。
我发现直接从文件中获取 JPEG 系数的唯一解决方案是使用 JNA 连接到本机 JPEG 库。您要求提供库或代码 sn-p。我编写了一个应该满足您需求的 Java 库。我的代码非常粗糙,但可以轻松扩展。这里:https://github.com/markzampoglou/dct-extraction
【讨论】: