0

也许这是一个奇怪的问题,但我有点困惑为什么 PPM6 小于 PPM3。根据wiki,在 PPM3 中,每个像素表示为 3 个字节

P3
# The P3 means colors are in ASCII, then 3 columns and 2 rows,
# then 255 for max color, then RGB triplets
3 2
255
255   0   0     0 255   0     0   0 255
255 255   0   255 255 255     0   0   0

他们进一步说,同一图像的 P6 二进制格式用一个字节表示每个像素的每个颜色分量(因此每个像素三个字节)。该文件较小,但人类无法读取颜色信息。

如果在这两种情况下每个像素都用 3 个字节表示,我不明白为什么 P6 更小?

4

1 回答 1

2

不要将源数据与实际写入文件的数据混淆。

PPM3 不是由每个像素 3 个字节表示的。好吧,不是存储形式。您将它们存储为文本文件。存储为文本的 3 位数字(例如 255)是 3 个字节(每个字符一个字节)。不是 1. 我什至不关心那里的空白。

PPM6 以二进制形式存储,每个像素确实有 3 个字节。因此它总是更小。

于 2012-11-05T10:34:30.690 回答