Java:获取JPEG DCT系数直方图

3

我需要一个Java库、代码片段等,以获取JPEG文件的64个DCT系数的频率分布。

有什么建议吗?谢谢!

2个回答

0

似乎没有直接从JPEG文件中获取DCT系数的简单答案。解压图像并重新应用DCT变换是一个合理的近似,但它确实会引入舍入误差。

我找到的唯一解决方案是使用JNA连接到本地JPEG库以直接从文件中获取JPEG系数。您要求一个库或代码片段。我编写了一个Java库,应该能够满足您的需求。我的代码非常粗糙,但可以很容易地扩展。这里是链接:https://github.com/markzampoglou/dct-extraction


0
如果您对特定文件的分布感兴趣,则可以尝试将其转换为bmp,并使用我在我的问题中提供的代码: 解压缩在中途停止,输出文件填充了零(黑色像素)? 您可能需要稍微修改一下才能在Java上运行。思路是将每个8 * 8块的所有64个系数存储在数组中。然后计算每个系数号的每个值(例如0,0(DC)或0,1或8,8(最高频率))的频率,并在y轴上绘制频率,在x轴上绘制值。您将获得64个图,每个系数一个。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接