Matlab,从图像中制作自定义色彩映射

时间:2014-10-16 15:34:08

标签: matlab color-mapping

我正在比较来自Ansys Fluent和Matlab的各种等高线图。所有内容都绘制在相同的坐标上,并具有相同的caxis限制。但是我正在努力让色彩图匹配。不幸的是,将数据从流畅地输出到matlab不是一种选择。

我将Ansys Fluent色彩图保存为.jpg或.png。我正在尝试从[url = http://www.arc.vt.edu/ansys_help/flu_ug/graphics/g_flu_ug_panel_cmap.png图像为此类[/ url]制作matlab的自定义色彩图,因此我可以使用相同的色彩图绘制我的matlab数据。显然,我删掉了不必要的数据,只留下了色彩图。

我试图用imread和rgb2ind做一些事情,但这给了我一些非常时髦的结果。

h=imread('custom_colormap.jpg')
[X, map] = rgb2ind(h,50);
colormap(map);

非常感谢您的想法。

2 个答案:

答案 0 :(得分:2)

您是否尝试过创建自己的自定义色彩映射表?您可以使用colormapeditor工具轻松完成此操作:

enter image description here

答案 1 :(得分:2)

你需要那张精确的地图吗?你可以通过修改Matlab的hsv地图来获得相当接近的结果:

n = 20; %// desired number of colors
t = .7; %// trimming factor
cm = hsv(ceil(n/t));
cm = cm(1:n,:);
%// cm = flipud(cm); %// if needed. Thanks to Dan
colormap(cm);
colorbar

enter image description here