Оценка освещенности с использованием анализа основных компонентов (PCA)
оценивает освещенность сцены в изображении RGB illuminant = illumpca(A)A из больших цветовых различий с использованием анализа основных компонентов (PCA).
оценивает освещенность, используя указанный процент самых темных и самых ярких пикселей.illuminant = illumpca(A,percentage)
оценивает освещенность, используя пары имя-значение для управления дополнительными опциями.illuminant = illumpca(___,Name,Value)
Алгоритм предполагает равномерное освещение и линейные значения RGB. При работе с нелинейными изображениями sRGB или Adobe RGB используйте rgb2lin функция для отмены гамма-коррекции перед использованием illumpca. Также обязательно преобразуйте хроматически адаптированное изображение обратно в sRGB или Adobe RGB с помощью lin2rgb функция.
Цвета пикселей представлены векторами в цветовом пространстве RGB. Алгоритм упорядочивает цвета по яркости, или норме, их проекции на средний цвет на изображении. Алгоритм сохраняет только самые темные и яркие цвета, согласно этому порядку. Затем выполняется анализ основных компонентов (PCA) для подмножества цветов. Первый компонент PCA указывает оценку освещенности.
[1] Чэн, Дунлян, Дилип К. Прасад и Майкл С. Браун. «Оценка освещенности для постоянства цвета: Почему работают методы пространственной области и роль распределения цветов». Журнал Оптического общества Америки A. Vol. 31, номер 5, 2014, стр. 1049-1058.
chromadapt | illumgray | illumwhite | lin2rgb | rgb2lin