代码之家  ›  专栏  ›  技术社区  ›  Fantastic Mr Fox

使用matlab配色方案将float转换为RGB

  •  5
  • Fantastic Mr Fox  · 技术社区  · 14 年前

    例如,如果我有一个浮子 0.568 (保证浮动 0 -> 1 )。有没有办法将其转换为RGB值(双 [1.0, 1.0, 1.0] 或int [255 255 255] )在当前的matlab配色方案下(即普通、热门、hsv等)?

    2 回复  |  直到 11 年前
        1
  •  5
  •   H.Muster    14 年前

    您可以尝试以下操作:

    f = 0.568; % your float
    
    cm = colormap % returns the current color map
    
    colorID = max(1, sum(f > [0:1/length(cm(:,1)):1])); 
    
    myColor = cm(colorID, :) % returns your color
    

    的结果 f = 0.568

    myColor =
    
        0.8125    1.0000    0.1875
    
        2
  •  1
  •   Carlos    14 年前

    看看喷气式飞机的帮助。

    jet.colors(n)返回一个由n个颜色值组成的数组,该数组跨越了颜色函数的范围,在本例中为jet。现在,您所要做的就是将数据缩放/映射到1:n范围。这是获取/调整颜色贴图的好方法。我以前总是这么做。