如何反转颜色量化?

信息处理 图像处理 颜色 量化 位深度
2022-02-22 12:51:21

是否有任何算法试图在图像上执行颜色量化的逆运算?换句话说,有没有一种聪明的方法来增加图像的位深度?

显而易见的答案是简单地拉伸所有像素的值以适应新范围;但是,这会在直方图中留下间隙,并且生成的图像仍将具有相同数量的不同值。是否有任何算法,例如,考虑相邻像素以确定每个像素的更好估计?

3个回答

是否有任何算法,例如,考虑相邻像素以确定每个像素的更好估计?

那基本上是一个低通滤波器。

所以,是的,它存在,并且是常用的。

如果您使用例如旧的计算机图形精灵并将其缩放为高分辨率图像,您可以很好地看到这一点:

原始(32 x 32 像素)

libreoffice 数据库 图标

无插值过滤器缩放(512 px)

libreoffice 数据库图标缩放为 512x512

由一个简单的线性插值滤波器(512 px)缩放

libreoffice 数据库图标线性插值 512x512

虽然简单缩放的图像具有与原始图像一样多的离散颜色,但线性插值图像具有更多颜色,并且直方图看起来更加“连续”。

但:

通常没有免费的午餐。您不能只添加颜色信息!(顺便说一句,无法添加丢失的信息是信息论的基本真理之一)。你必须牺牲空间分辨率。从本质上讲,这与海森堡不确定性原理的数学原理相同您可以拥有某物的完美信息状态(像素的颜色、电子的脉冲)或它的位置(图像中的锐边、电子位置的知识)。看这个例子:

原始照片

原来的

原始 (512 x 512px) 减少到 16 色

原版,减色

过滤以获得更连续的颜色直方图,考虑到半径为 10px

原始,高斯滤波器

我建议使用更复杂的空间过滤器 - 即双边过滤器,以尽量减少对边界的损害。

可能比普通的低通滤波器更好:

https://github.com/kornelski/undither

我无法从接受的答案中获得示例图片,但其网站上的示例图片看起来很有希望。