我想从 .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/