首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Matlab中混合不同颜色图的颜色

如何在Matlab中混合不同颜色图的颜色
EN

Stack Overflow用户
提问于 2015-01-09 08:02:21
回答 2查看 972关注 0票数 1

我希望重叠区域显示彩色地图(热)和颜色图(冷)的混合颜色。

例如,

代码语言:javascript
复制
contourf(peaks)
colormap(hot)
freezeColors
hold on
contourf(peaks')
colormap(cool)

甚至我也会调整α值来调整轮廓图的透明度。这些颜色看起来仍然不像两种不同颜色的混合图。例如,轮廓1的一个环填充蓝色,而另一个轮廓2的环填充红色。在轮廓1和轮廓2的重叠区域,我想在轮廓1和轮廓2上填充紫色(red+blue)颜色,而不重叠的区域仍然保持原来的颜色(蓝色或红色)。

有人有好主意吗?

提前谢谢!!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-16 11:25:41

我已经想出了解决办法。代码显示为blow。

Im1=double峰(300);

Im2=double(峰(300)‘);

im1_rgb=summer(im1);

im2_rgb=cool(im2);

x,y=网格(1:大小(im1,2),1:大小(im1,1));

数据=IM1_rgb/2+IM2_rgb/2;

分图(1,3,1)

tcolor(x,y,data)

c,h1=contour(x,y,im1);

集合(h1,'LineColor','b')

c,h2=contour(x,y,im2);

集合(h2,'LineColor','k')

拖住

分图(1,3,2)

(x,y,im1_rgb)

等一等

c,h1=contour(x,y,im1);

集合(h1,'LineColor','b')

拖住

分图(1,3,3)

(x,y,im2_rgb)

等一等

c,h2=contour(x,y,im2);

集合(h2,'LineColor','k')

拖住

票数 0
EN

Stack Overflow用户

发布于 2015-01-09 10:25:30

编辑:我刚看了你的编辑,我不知道这是你想要的.我就把它留在这里以防万一。

您所使用的hold on命令只是简单地覆盖前面的点(此外,颜色映射会影响全局点,因此无论如何都不能工作……)。您需要做的是生成一个新的颜色图,它是两个旧的渐变图之和,有点像这样:

代码语言:javascript
复制
 Map1=colormap(hot);
 Map2=colormap(cool);
 CustomMap=Map1/2+Map2/2;
 imshow(ImageWhatever)
 colormap(CustomMap)

希望这是你想要的!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27856170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档