Цветовое представление Matlab RGB ([255 255 255] и [1 1 1])

#image #matlab #colors

#изображение #matlab #Цвет

Вопрос:

В чем разница между двумя приведенными выше представлениями белого цвета? Я немного смущен, и как они используются?

Ответ №1:

Два эквивалентных представления

 uint8([255 255 255])
  

и

 double([1 1 1])
  

Это только целочисленные представления и представления с плавающей запятой. Обратите внимание, что это uint8([1 1 1]) будет (почти) черным, и это double([255 255 255]) обычно вызывает ошибку.

Обратите внимание, что целочисленная версия обычно разрешена только функциями обработки изображений, такими как imread , imwrite и image . Все остальное будет ожидать представления с плавающей запятой.

Ответ №2:

Эти два представления белого цвета относятся к цветовой модели RGB, в которой красные, зеленые и синие источники света складываются вместе (аддитивная цветовая модель) для получения желаемого цвета.

Каждый из трех основных источников света обычно кодируется 8-битным целым числом, которое поэтому варьируется от 0 до 255 (0 означает полное отсутствие этого источника света).

В Matlab эти коды часто нормализуются на 255 и являются плавающими значениями между 0 и 1. Обратите внимание, что это не тот случай, когда вы открываете изображение с помощью imread for exemple , поэтому вы должны быть осторожны и обращаться к соответствующим разделам документации.

Пример: если вы хотите указать определенный цвет с помощью кода RGB для графика, который вы можете использовать plot(data,'color',[0 1 1]); . Это отобразит ваши данные в голубом цвете (зеленый синий).

Другие способы указания цветов в Matlab см. в спецификации цвета Matlab.