2016-03-15 28 views
1

我想要显示图像(例如imshow)并使用色彩映射表示我的数据点的值。根据两个变量创建具有2D色彩映射的绘图

但是,colormap只给出了依赖于单个变量的选项,但我想要一个依赖于两个变量的“2D色彩映射”。

例如我有一个简单的2×2图像的像素:

IMG = [

1 1 5 6;

1 2 8 7;

2 1 4 3;

2 2 15 3]

这里每一行的前两个值的坐标,另外两个是描述像素(称它们xy)的值。

显示图像时我想使用2D色彩映射。例如这样的事情,它挑选取决于两个变量(xy)颜色:

enter image description here

是否有MATLAB的选项中多余的工具箱中的一个做这个,有可能?

如果不是可以手动完成的话?我想通过将由第一个值给出的灰度图像叠加到由第二个值给出的彩色图像上,可以实现类似的效果。

回答

1

在您的2D色彩地图中,您实际上使用的是HSV色彩空间。

基本上,您的x轴是色调,Y轴是饱和度。如果适当缩放,您可以将任何值转换为此空间。如果你确保你扩展您在[0-1]间隔第三和4RD列,你可以很容易地做到

colorRGB=hsv2rgb([val3,val4,0.5]); 

如果你对每个像素进行此操作,你会得到你想要的图像。

我给的HSV如何工作here

+0

大,感谢您的快速回复,你的扩展解释扩展的解释:)我会尽力实现它。 – Johannes

+0

@Johannes如果你需要的话,会问任何事情;)。如果有效,不要忘记接受有效的 –

+0

似乎正在工作的答案:)我将如何能够显示颜色条或更好地对应于我的值的彩色圆柱片? – Johannes