Я новичок в картах цветов в MATLAB, но я знаю, что их диапазон значений варьируется от 0 до 1 в матрице 64x3. Если я перейду к документации MATLAB здесь, я имею в виду цветовые шкалы в самом низу. Можно ли получить диапазон значений цвета RGB, который они представляют (в матрице 64x3), вместо значений от 0 до 1? Если нет, то есть ли способ сделать цветовую палитру похожей на них?
Можно ли получить значения RGB цветовой карты?
comment
Для документации Matlab я имею в виду цветовые шкалы в самом низу.
- person Genevieve   schedule 03.10.2016
Ответы (2)
Да, если вам нужна текущая карта цветов, просто вызовите colormap
без входных аргументов.
current = colormap();
Однако, если вы хотите, вы можете получить значения RGB для любой из цветовых карт, используя функции, которые генерируют цветовые карты напрямую, а также дополнительный ввод, который указывает количество используемых цветов.
colors = gray(); % 64 grayscale values
colors = parula(100); % 100 parula colors
colors = jet(10000); % 10000 Jet colors
colors = hsv(10); % 10 colors spanning the HSV colormap
person
Suever
schedule
03.10.2016
Я хочу выбрать конкретную цветовую карту
- person Genevieve; 03.10.2016
@Mia Посмотрите обновление, которое позволяет вам получать значения RGB для любой из этих цветовых шкал без необходимости сначала применять их к фигуре.
- person Suever; 03.10.2016
Я продолжаю получать значения от 0 до 1
- person Genevieve; 03.10.2016
@Mia В MATLAB они
double
, поэтому они находятся между 0
и 1
. Если вы ограничитесь целыми числами, вы не сможете создать все необходимые градации. Вы можете умножить на 255
, если вам действительно нужны значения от 0 до 255.
- person Suever; 03.10.2016
@Mia, они сопоставлены с диапазоном
[0 1]
, чтобы их можно было использовать как двойники. Вы имеете в виду значения uint8
или uint16
. Вы можете масштабировать их, просто умножив их на соответствующее количество элементов (2^n)
- person Adriaan; 03.10.2016
Можно ли их преобразовать?
- person Genevieve; 03.10.2016
@Mia Как я уже сказал выше, умножьте на 255, если вы действительно хотите.
- person Suever; 03.10.2016
@Mia, не могли бы вы задать один конкретный вопрос и не задавать десятки дополнительных вопросов?
- person Adriaan; 03.10.2016
При этом совершенно допустимо для значений RGB быть представленными между 0 и 1. Также, как я уже упоминал, если вы не заставите их быть целыми числами, вы сможете более точно представить все промежуточные цвета.
- person Suever; 03.10.2016
A=colormap('jet');
>> A
A =
0 0 0.5625
0 0 0.6250
0 0 0.6875
0 0 0.7500
0 0 0.8125 % etc, size 64x3
Это значения RGB. Он открывает пустую фигуру, потому что colormap
внутренне вызывает gcf
, таким образом открывая фигуру.
person
Adriaan
schedule
03.10.2016