illumwhite

Оцените освещение с помощью алгоритма White Patch Retinex

Описание

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

пример

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

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

Примеры

свернуть все

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

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

Figure contains an axes. The axes 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. The axes 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

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

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

Пример: illuminant = illumwhite(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

Ссылки

[1] Эбнер, Марк. White Patch Retinex (неопр.) (недоступная закрашенная фигура). Постоянство цвета. Chichester, West Sussex: John Wiley & Sons, 2007.

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