我对 16 位 targa 文件有疑问。我正在打开图像,它的颜色很奇怪。这是红色和绿色通道的问题——蓝色很好。
我如何修复 targa 图像,使其看起来像示例?(第一个是原始图像,第二个是必须看的。)
编辑:这个答案给出了看起来正确的结果,但不会与原来的有点相同。更奇怪的事情正在发生。
您可以通过将红色和绿色通道置于一个使值加倍的函数中,使损坏的图像脱离原始图像,但要进行环绕:
F(r) = (r*2) % 255
F(g) = (g*2) % 255
这些函数是不可逆的,因为多个输入值可以映射到同一个输出值。尤其是,
F^-1(r) = {r / 2, r / 2 + 128}
但是如果我们愿意容忍一些错误,我们仍然可以尝试恢复图像。我们将尝试猜测红色(或绿色)是否应该高;如果是,请添加 128。
两条信息可以指导我们的猜测:
我只使用蓝色通道信息在 r / 2 和 r / 2 + 128 之间做出决定,恢复了非常接近原始图像的东西,尽管使用相邻像素的红色和绿色通道可能会更好。
作为旁注,可能发生此类问题的一种方式是,如果最初(例如)有 6 位红色信息,但在写入文件时只保留了最低有效的 5 位。查看这些图像是如何获取的,以确保您不会以某种方式切断 R 和 G 通道的最重要位,这将很有用。