如何从颜色图中恢复关键颜色?

How to recover key colors from a colormap?

通常我们插入关键颜色来制作颜色图。

我们可以做相反的事情,从颜色图中获取关键颜色(大约)吗?

我将颜色图转换为灰度图,将灰度向量分成分段线段,保留关键点和 return 关键索引处的颜色。但它不适用于生动的色彩映射。

如果您想从插值颜色 table 中恢复关键颜色,您应该分别查看每个颜色通道中颜色 table 的一阶导数。如果颜色 table 是 线性 插值在关键颜色之间,并且 如果你幸运的话 你可以检测到倾斜度的变化在每个关键颜色。如果没有变化,则不需要创建此颜色的关键颜色 table。

在二阶导数中,您将在至少一个通道中看到至少一个极值。

示例

我在octave中使用类似于matlabs彩虹色table的“彩虹”颜色table来演示该方法。这绘制了所有 RGB 通道的二阶导数。

plot(diff(diff(colormap('rainbow'),1),1))

结果图显示在这里:

当然你必须在颜色图的开始和结束处添加关键颜色。