今天我想知道为什么rgb值存储在文件中?如果一个程序可以获取rgb值并为每种颜色开发一个函数,它会不会节省空间:r(x)g(x),b(x)?我认为在运行时迭代功能几百万次会很昂贵,但权衡不是文件大小。很明显,我错过了一些东西,并且非常感谢为什么这不可行的原因。
答案 0 :(得分:1)
在某种程度上你是对的,存储每个像素(也就是位图)的RGB值是低效的,这就是为什么许多格式如png使用压缩(jpeg使用有损压缩,这节省了更多的内存)。但是你错了,你可以简单地创建一个简单的函数来告诉你某个点上每个像素的值。你当然可以为任意图像构造这样一个函数,比如多项式,但是这个函数有很多项,你不会真正保存任何内存,因为你仍然需要存储函数。压缩图像或任何数据的程度有一个基本限制,这取决于熵。
如果您对此类事物感兴趣,请查看"分形压缩"或"无损压缩(部分:限制)"在维基百科上。