illumpca

Оцените освещающий анализ главных компонентов (PCA) использования

Описание

пример

illuminant = illumpca(A) оценивает, что освещение сцены в RGB отображает A от больших цветовых различий с помощью анализа главных компонентов (PCA).

illuminant = illumpca(A,percentage) оценивает освещение с помощью заданного процента самых темных и самых ярких пикселей.

illuminant = illumpca(___,Name,Value) оценивает освещение с помощью пар "имя-значение", чтобы управлять дополнительными опциями.

Примеры

свернуть все

Откройте изображение и отобразите его. Задайте дополнительное увеличение, чтобы уменьшить размер отображенного изображения.

A = imread('foosball.jpg');
figure
imshow(A,'InitialMagnification',25)
title('Original Image')

Анализ главных компонентов принимает, что значения RGB линейны. Однако формат файла JPEG сохраняет образы в откорректированном гаммой sRGB цветовом пространстве. Отмените гамма-коррекцию при помощи rgb2lin функция.

A_lin = rgb2lin(A);

Оцените освещение сцены от самого темного и самого яркого 3,5% пикселей (процент по умолчанию). Поскольку входное изображение линейно, illumpca функция возвращает источник света в линейном цветовом пространстве RGB,

illuminant = illumpca(A_lin)
illuminant = 1×3

    0.4074    0.5547    0.7254

Третий коэффициент illuminant является самым большим, который сопоставим с синим оттенком изображения.

Правильные цвета путем обеспечения предполагаемого источника света chromadapt функция.

B_lin = chromadapt(A_lin,illuminant,'ColorSpace','linear-rgb');

Чтобы отобразить белым сбалансированное изображение правильно на экране, примените гамма-коррекцию при помощи lin2rgb функция.

B = lin2rgb(B_lin);

Отобразите откорректированное изображение, установив дополнительное увеличение.

figure
imshow(B,'InitialMagnification',25)
title('White-Balanced Image using Principal Component Analysis')

Входные параметры

свернуть все

Изображение RGB в виде m-by-n-by-3 числовой массив.

Типы данных: single | double | uint8 | uint16

Процент пикселей, чтобы сохранить для освещающей оценки в виде числового скаляра в области значений (0, 50].

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: illuminant = illumpca(I,'Mask',m) оценивает источник света сцены использование подмножества пикселей в изображении I, выбранный согласно бинарной маске, m.

Отобразите маску в виде разделенной запятой пары, состоящей из 'Mask' и m-by-n логический или числовой массив. Маска указывает, какие пиксели входа отображают A использовать при оценке источника света. Расчет исключает пиксели в A это соответствует значению маски 0. По умолчанию маска имеет всю 1 с и все пиксели в A включены в оценку.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Выходные аргументы

свернуть все

Оценка освещения сцены, возвращенного как числовой вектор-строка с 3 элементами. Эти три элемента соответствуют красным, зеленым, и синим значениям источника света.

Типы данных: double

Советы

  • Алгоритм принимает универсальное освещение и линейные значения RGB. Если вы работаете с нелинейным sRGB или изображениями Adobe RGB, используйте rgb2lin функционируйте, чтобы отменить гамма-коррекцию перед использованием illumpca. Кроме того, убедитесь, что преобразовали хроматически адаптированное изображение назад в sRGB или Adobe RGB при помощи lin2rgb функция.

Алгоритмы

Пиксельные цвета представлены как векторы в цветовом пространстве RGB. Цвета порядков алгоритма согласно яркости или норма, их проекции в среднем раскрашивают изображение. Алгоритм сохраняет только самые темные и самые яркие цвета, согласно этому упорядоченному расположению. Анализ главных компонентов (PCA) затем выполняется на подмножестве цветов. Первый компонент PCA указывает на освещающую оценку.

Ссылки

[1] Ченг, Дунлян, Дилип К. Прасад и Майкл С. Браун. "Освещающая Оценка для Цветного Постоянства: Почему пространственно-доменные методы работают и роль цветного распределения". Журнал Оптического Общества Америки A. Издание 31, Номер 5, 2014, стр 1049–1058.

Смотрите также

| | | |

Введенный в R2017b

Для просмотра документации необходимо авторизоваться на сайте