illumwhite

Оцените освещающую использующую Белую Закрашенную фигуру алгоритм Retinex

Описание

illuminant = illumwhite(A) оценивает, что освещение сцены в RGB отображает A путем предположения, что лучший 1% самые яркие красные, зеленые, и синие значения представляет цветной белый.

пример

illuminant = illumwhite(A,topPercentile) оценивает освещение с помощью topPercentile процент самые яркие красные, зеленые, и синие значения.

illuminant = illumwhite(___,'Mask',mask) оценивает освещение с помощью только пиксели в ROI, заданном бинарной маской.

Примеры

свернуть все

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

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

Figure contains an axes object. The axes object with title Original Image contains an object of type image.

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

A_lin = rgb2lin(A);

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

topPercentile = 5;
illuminant = illumwhite(A,topPercentile)
illuminant = 1×3

    0.7333    0.8314    1.0000

Третий коэффициент 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 White Patch with topPercentile=' ...
    num2str(topPercentile)])

Figure contains an axes object. The axes object with title White-Balanced Image using White Patch with topPercentile=5 contains an object of type image.

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

свернуть все

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

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

Процентиль самых ярких цветов, чтобы использовать для освещающей оценки в виде числового скаляра в области значений [0, 100). Чтобы возвратить максимальные красные, зеленые, и синие значения, установите topPercentile к 0.

Изображение указывает на красное, зеленое, и синее значение, которое выбрано, чтобы оценить источник света. Выбор является отдельным для каждого цветового канала.

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

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

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

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

свернуть все

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

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

Ссылки

[1] Ebner, Марк. "Белая закрашенная фигура Retinex". Цветное постоянство. Чичестер, Западный Сассекс: John Wiley & Sons, 2007.

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

| | | | |

Введенный в R2017b