是否可以获取颜色图的 RGB 值?
Is it possible to obtain RGB values of a colormap?
我不熟悉 MATLAB 中的颜色图,但我知道它们的值范围在 64x3 矩阵中从 0 到 1。如果我查看 MATLAB 文档 here,我指的是最底部的色标。是否有可能获得它们似乎代表的 RGB 颜色值范围(在 64x3 矩阵中)而不是从 0 到 1 的值?如果没有,有没有办法制作类似它们的调色板?
是的,如果您想要当前的颜色图,只需调用 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
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
,从而打开一个图。
我不熟悉 MATLAB 中的颜色图,但我知道它们的值范围在 64x3 矩阵中从 0 到 1。如果我查看 MATLAB 文档 here,我指的是最底部的色标。是否有可能获得它们似乎代表的 RGB 颜色值范围(在 64x3 矩阵中)而不是从 0 到 1 的值?如果没有,有没有办法制作类似它们的调色板?
是的,如果您想要当前的颜色图,只需调用 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
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
,从而打开一个图。