gpt4 book ai didi

matlab - Jet 颜色映射到灰度

转载 作者:太空宇宙 更新时间:2023-11-03 19:27:26 27 4
gpt4 key购买 nike

我有一个 jet 颜色图:

jet colormap

我想知道是否有某种方法可以转换为灰度。我不能使用平均值,因为最大值和最小值变为相同的灰色。或者,如果有某种方法可以转换为另一种调色板。

我在 Google 上找不到转换它的函数。 MATLAB 使用了一些叫做 rgb2ind 的东西,但我想知道这个公式。

最佳答案

首先让我使用 Jet 颜色图创建一个索引图像:

img = repmat(uint8(0:255), 100, 1);
cmap = jet(256);

imshow(img, 'Colormap',cmap)

jet

使用 IND2GRAY 的直接转换产生以下结果:

J = ind2gray(img,cmap);
imshow(J)

jet_to_gray

正如您所说,最小值/最大值收敛到相同的值。据我了解,您希望将 jet 颜色图映射为从深灰色到浅灰色线性变化。为此,我们可以 reorder using the hue value我们用 RGB2HSV 函数得到的。将以下内容与原始颜色图进行比较:

[~,idx] = sortrows(rgb2hsv(cmap), -1);  %# sort by Hue
C = gray(256);
C = C(idx,:);

imshow(img, 'Colormap',C)

hue_sorted

关于matlab - Jet 颜色映射到灰度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7440340/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com