Python 如何从颜色映射恢复关键颜色?
通常,我们插值关键颜色以生成颜色贴图 我们可以做相反的事情,从颜色贴图中获得关键颜色(大约)Python 如何从颜色映射恢复关键颜色?,python,matlab,matplotlib,matlab-figure,colormap,Python,Matlab,Matplotlib,Matlab Figure,Colormap,通常,我们插值关键颜色以生成颜色贴图 我们可以做相反的事情,从颜色贴图中获得关键颜色(大约) 我将颜色贴图转换为灰度,将灰色向量分为分段线段,保留关键点并返回关键索引处的颜色。但是,对于生动的颜色贴图,它不起作用。如果要从插值颜色表中恢复关键颜色,应分别查看每个颜色通道中颜色表的一阶导数。如果颜色表在关键颜色之间线性插值,并且如果幸运的话,您可能能够检测到每个关键颜色的倾斜变化。如果没有更改,则创建此颜色表时不需要使用键颜色 在二阶导数中,您将在至少一个香奈儿中看到至少一个极值 例子 我使用八
我将颜色贴图转换为灰度,将灰色向量分为分段线段,保留关键点并返回关键索引处的颜色。但是,对于生动的颜色贴图,它不起作用。如果要从插值颜色表中恢复关键颜色,应分别查看每个颜色通道中颜色表的一阶导数。如果颜色表在关键颜色之间线性插值,并且如果幸运的话,您可能能够检测到每个关键颜色的倾斜变化。如果没有更改,则创建此颜色表时不需要使用键颜色 在二阶导数中,您将在至少一个香奈儿中看到至少一个极值 例子 我使用八度音阶的“彩虹”颜色表(类似于matlabs彩虹颜色表)来演示该方法。这将绘制所有RGB通道的二阶导数
plot(diff(diff(colormap('rainbow'),1),1))
结果图显示在此处:
当然,您必须在colormap的开始和结束添加关键颜色。问题到底是什么?colormap由数字到颜色的映射组成。如果这是一个内射的、非满射的映射,则可以从颜色中获取数字。否则,你不能。比我想象的更简单的解决方案