从 jpeg 文件中提取颜色(无位图)

Extract colors from jpeg file (without Bitmap)

我目前正试图弄清楚 JPEG 是如何出于兴趣而深入制作的。我在不同的部分(soi、sof、sos、eoi 等)找到了非常简单的文档,但没有找到如何从那里获取单个像素的文档。

我的第一个想法是制作一个小图像,例如 2x2,但是对于所有 headers 和部分,在不知道确切位置和提取方法的情况下隔离像素信息仍然很大。我确定它被压缩了,但是他们是手动将其取出的方法吗? (作为 RGB?)

有人知道如何执行此操作吗?

获取 JPEG 图像单个像素的值无论如何都需要解析其中的一些(如果不是大部分)部分。

https://www.imperialviolet.org/binary/jpeg/ 上有一个很好的分步指南(虽然代码在 Haskell 中,所以对于一般人来说它可能有点难以理解)解释了转换 a 背后的概念JPEG 转换成一堆 RGB 值。

这是我所知道的唯一解释 JPEG 端到端的来源:

https://www.amazon.com/gp/product/B01JXRY4R0/ref=dbs_a_def_rwt_bibl_vppi_i4

解析 JPEG 流的结构很容易。解码 JPEG 扫描非常困难,涉及多个压缩步骤。此外,还有两种常用的扫描类型(渐进式和顺序式)。