java - 从 JPEG 图像读取数据

标签 java file jpeg

我想从 .jpg 文件读取数据( header 、DCT 信息、霍夫曼表、量化表...)

我尝试了这段代码,但我不确定它是否正确(事实上我不知道要得到什么!)

byte[] my = new byte[5];
    try 
    {
        RandomAccessFile file = new RandomAccessFile("001.jpg", "rw");
        file.read(my, 0, 5);
        for(int i = 0; i < my.length; i++)
            System.out.printf("%s\n", my[i]);

    } 
    catch (IOException e) 
    {

    }

这段代码只是打印一些数字(它应该是图像的开头)

最佳答案

读取“JPEG 文件”和获取像素数据之间有很多工作。

如果您真的感兴趣,我建议您从众多 JPEG 转储程序之一开始,这些程序可以了解 JPEG 流的结构。 JPEG 流由一系列标记组成。

压缩数据位于扫描中。在渐进式 JPEG 中,必须组合多次扫描。

解码的基本顺序是游程/霍夫曼、DCT、采样、转换为RGB。

要达到这一点需要很多代码。

关于java - 从 JPEG 图像读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22580181/

相关文章:

Java libgdx android - 我自己的资源文件未加载

reactjs - 如何在 React 中将 HEIC 转换为 JPG?

android - JPEG 硬件解码器访问 API

java - 从 EditText 到 float 的字符串

java - 在任意键上使用EnumSet或EnumMap

java - 执行 Web 应用程序初始配置的一些好的模式是什么?

php - 如何将外部文件的内容发送到打印机?

java - 使用java创建.gitignore

android - 首选项-使用媒体文件,图像

php - 使用数据:image/jpeg;base64?有什么风险