1

我希望在 Matlab 中从强度图像图(保存为 jpeg (RGB) 文件)创建一个强度矩阵,该图像是使用 Matlab 的喷射颜色图制作的。我本质上是在尝试对绘图中的数值数据进行逆向工程。原始图像与颜色条已链接(我没有足够的声誉来插入图像)。

http://i.imgur.com/BmryO6W.png

我最初认为这可以通过 rgb2gray 命令完成,但它会生成以下图像,应用了与原始图像不匹配的 jet 颜色图。

http://i.imgur.com/RlBei2z.png

据我所知,这里唯一可用的方法是尝试将每个像素的 RGB 值与颜色图查找表中的值匹配。关于这是否是最快的方法有什么建议吗?

4

1 回答 1

0

看起来你使用的方法rgb2gray几乎是有效的,除了规模。因为颜色图会自动缩放到绘图的内容,所以我认为您必须手动重新缩放它(除非您可以自动检测 上的刻度标签colorbar)。您可以使用以下公式执行此操作:

% Some random data like yours
x = rand(1000) * 256;

% Scale data to fit your range
xRange = [min(x(:)) max(x(:))];
scaleRange = [-10 10];
y = (x - xRange(1)) * diff(scaleRange) / diff(xRange) + scaleRange(1);

您可以使用以下命令检查操作是否成功

>> [min(y(:)) max(y(:))]

ans =

   -10    10
于 2013-05-18T08:50:28.987 回答