Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从颜色映射恢复关键颜色?_Python_Matlab_Matplotlib_Matlab Figure_Colormap - Fatal编程技术网

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由数字到颜色的映射组成。如果这是一个内射的、非满射的映射,则可以从颜色中获取数字。否则,你不能。比我想象的更简单的解决方案