假设我有一张以RGB格式扫描的底片负片,我正在寻找一种算法将颜色值转换为RGB正片。
由于存在橙色偏差(http://photo.net/learn/orange-negative-mask),如果我简单地说redPositive = 255 - redNegative,则最终图像会呈现强烈的青色色调,并且非常淡化。这意味着将负片图像转换为正片中给出的答案是不正确的。
那么我该如何编写以下程序:
struct RGB
{
unsigned byte red;
unsigned byte green;
unsigned byte blue;
};
void FilmNegativeToPositive(RGB const &negative, RGB &positive)
{
// What goes here?
}