如何从颜色图中恢复关键颜色?
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))
结果图显示在这里:
当然你必须在颜色图的开始和结束处添加关键颜色。
通常我们插入关键颜色来制作颜色图。
我们可以做相反的事情,从颜色图中获取关键颜色(大约)吗?
我将颜色图转换为灰度图,将灰度向量分成分段线段,保留关键点和 return 关键索引处的颜色。但它不适用于生动的色彩映射。
如果您想从插值颜色 table 中恢复关键颜色,您应该分别查看每个颜色通道中颜色 table 的一阶导数。如果颜色 table 是 线性 插值在关键颜色之间,并且 如果你幸运的话 你可以检测到倾斜度的变化在每个关键颜色。如果没有变化,则不需要创建此颜色的关键颜色 table。
在二阶导数中,您将在至少一个通道中看到至少一个极值。
示例
我在octave中使用类似于matlabs彩虹色table的“彩虹”颜色table来演示该方法。这绘制了所有 RGB 通道的二阶导数。
plot(diff(diff(colormap('rainbow'),1),1))
结果图显示在这里:
当然你必须在颜色图的开始和结束处添加关键颜色。