为什么图像不使用函数来存储 rgb 值?

Why don't images use functions to store rgb values?

今天我想知道为什么 rgb 值完全存储在文件中?如果一个程序可以获取 rgb 值并为每种颜色开发一个函数:r(x) g(x), b(x),它不会节省 space 吗?我假设在 运行 时间内迭代该函数几百万次会很昂贵,但代价是没有文件大小。显然我遗漏了一些东西,非常感谢解释为什么这不可行谢谢。

在某种程度上你是对的,为每个像素(又名位图)存储 RGB 值是低效的,这就是为什么许多格式如 png 使用压缩(jpeg 使用有损压缩可以节省更多内存)。然而,您错误地认为您可以简单地创建一个简单的函数来告诉您每个像素在特定点的值。你当然可以为任意图像构造这样一个函数,比如说一个多项式,但是这个函数会有太多的项,你不会真正节省任何内存,因为你仍然需要存储这个函数。可以压缩图像或任何数据的程度有一个基本限制,这取决于熵。

如果您对这类事情感兴趣,请在维基百科上查找 "Fractal Compression" 或 "Lossless compression (section: Limitations)"。