Является ли преобразование цветовой карты openCV линейным?

У меня есть изображение в оттенках серого (т.е. 1 канал). Я использую функцию opencv applyColorMap() для улучшения визуализации. Например, если у меня есть код ниже

applyColorMap(imgGray, imgOut, COLORMAP_RAINBOW);

Кто-нибудь знает, является ли преобразование палитры линейным?

введите здесь описание изображения

 описание изображения
(источник: opencv .org)


person rafaoc    schedule 23.09.2014    source источник
comment
Я не могу понять, что вы имеете в виду под линейным? Вы видите значения цвета по отношению к уровням серого. Если вам нужен другой цвет, используйте разные цветовые карты.   -  person Balaji R    schedule 24.09.2014
comment
Я предлагаю вам проверить математическую формулу каждого преобразования. Большинство цветовых пространств являются линейными преобразованиями из RGB.   -  person Y.AL    schedule 24.09.2014
comment
@dervish Дело в том, что я не нашел преобразования, используемые openCV   -  person rafaoc    schedule 24.09.2014


Ответы (1)


Карты цветов, используемые функцией opencv: applyColorMap, имеют линейную связь между ними. Они основаны на цветовых картах GNU Octave/Matlab.

Графические функции, использующие псевдоцвет — mesh, surf, pcolor и другие — отображают цветовую матрицу c, значения которой находятся в диапазоне [cmin, cmax], в массив индексов k в диапазоне [1, m]. . Значения cmin и cmax либо min(min(c)) и max(max(c)), либо задаются caxis. Отображение является линейным, при этом cmin отображается в индекс 1, а cmax — в индекс m. Затем индексы используются с палитрой для определения цвета, связанного с каждым элементом матрицы. ссылка

person rafaoc    schedule 25.09.2014