Предполагая, что у меня есть негативный отпечаток, как RGB-изображение, я пытаюсь найти алгоритм, который преобразует значения цвета в RGB-положительный.Алгоритм для преобразования отрицательного отрицательного изображения в RGB в положительный RGB
Из-за оранжевого смещения (http://photo.net/learn/orange-negative-mask), если я просто говорю redPositive = 255 - redNegative Я получаю окончательное изображение с синим голубым оттенком и очень сильно размывается. Это означает, что ответы даны здесь: Convert negative image to positive: NOT правильный.
Так как я бы ремесло следующие рутина:
struct RGB
{
unsigned byte red;
unsigned byte green;
unsigned byte blue;
};
void FilmNegativeToPositive(RGB const &negative, RGB &positive)
{
// What goes here?
}
Есть ли шанс, что вы могли бы предоставить изображения негатива и что правильно рассчитанный положительный результат будет выглядеть? Я боюсь, что просто переезд в Google может не дать точно такого рода негативы, с которыми вы работаете. –
Возьмите «черное» изображение (например, бит перед изображением 1 - не белые, где вы загрузили фильм в камеру и выставили его на свет, но черные биты, которые находятся между выстрелом 1 и лидером, загруженным в пленочный ролик). Сканируйте это, измерьте его значение RGB и «добавьте» [или инвертируйте и «вычитайте», в зависимости от того, на какой стороне преобразования на отрицательный вы делаете это], что для существующих значений. Вероятно, лучше всего сканировать в 16-битной точности, как и в 8-битном, вы, скорее всего, потеряете около одной трети бит. –
Строго говоря, проблема не в преобразовании RGB. Связанные ответы правильны в том смысле, что это просто «255-значение». Проблема заключается в ваших данных. – deviantfan