Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: upsny от Сентябрь 27, 2012, 09:43



Название: цветокоррекция. баланс белого
Отправлено: upsny от Сентябрь 27, 2012, 09:43
здравствуйте. подскажите пожалуйста, как реализовать проект с таким заданием:
есть фотография(допустим, ваза с яблоками) где нарушен баланс белого. ну, к примеру, в сторону красного. и есть эталонное изображение. в эталоне и на нашем объекте(читай фотографии) есть одно и то же яблоко,которое, как нам известно, на обоих снимках должно быть одинаковым. требуется написать программу, которая будет корректировать цвет по эталону.
как я понимаю, необходимо взять несколько пикселей из эталонного яблока и объектного, которые должны быть одинаковыми. так как цвет на обоих снимках должен быть одинаков, находим коэффициент разницы этих цветов, который связывает систему RGB и что-то еще(вроде XYZ или CMY, точно не помню). и зная этот коэффициент, домножаем  оставшиеся пиксели в нашем изображении.
но как это реализовать, с помощью чего, я не знаю. не хватает знаний. помогите пожалуйста.


Название: Re: цветокоррекция. баланс белого
Отправлено: Igors от Сентябрь 27, 2012, 11:41
где нарушен баланс белого. ну, к примеру, в сторону красного.
Это можно сделать по-всякому, напр

- умножить зеленый и синий на значение < 1
- отнять константу от тех же цветов (или добавить к красному)
- перевести в HSV и подкрутить hue к красному
и.т.д.

То есть сейчас Ваша постановка неоднозначна, нужно определиться


Название: Re: цветокоррекция. баланс белого
Отправлено: upsny от Сентябрь 27, 2012, 18:11
т.е., если я правильно понял, коррекция зависит от того, в какую сторону нарушен бб?
это не однозначно. бб может быть нарушен во всех направлениях RGB.
я просто не совсем понимаю как связать эталонное изображение с данным.
а так спасибо


Название: Re: цветокоррекция. баланс белого
Отправлено: Igors от Сентябрь 27, 2012, 18:57
т.е., если я правильно понял, коррекция зависит от того, в какую сторону нарушен бб?
это не однозначно. бб может быть нарушен во всех направлениях RGB.
я просто не совсем понимаю как связать эталонное изображение с данным.
а так спасибо
Не нужно только придумывать свои термины типа "баланс белого" - Вас не поймут :)  А в общем правильно понимаете. На серии пикселей один и тот же результат можно получить многими способами, но на др серии он уже будет иной. Кроме того, цвета обрезаются по каждому каналу, поэтому в общем виде вернуться к исходному невозможно. Нужно знать примененный тип фильтра (по сути - алгоритм).