Представление цветов Matlab RGB ([255 255 255] и [1 1 1]) - PullRequest
4 голосов
/ 03 октября 2011

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

Ответы [ 2 ]

5 голосов
/ 03 октября 2011

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

uint8([255 255 255])

и

double([1 1 1])

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

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

4 голосов
/ 03 октября 2011

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

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

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

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

См. Спецификация цвета Matlab для других способов определения цветов в Matlab.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...