【问题标题】:Heat and intensity map in matlabmatlab中的热量和强度图
【发布时间】:2016-07-07 20:07:23
【问题描述】:

我有一个问题:有一个二维强度数组 - Z [(x,y) 是一个矩阵,值是一个强度]。

1 2 3 4 ...
1 3 4 6 ... // ~ 1000 colums. 
2 6 7 8 ...

创建热图:I=imagesc(Z).

然后,我想为列着色,例如 100-200 列 - 蓝色,200-300 - 绿色,300-400 - 红色。一些东西,比如列的渐变。

非常感谢!

UPD*:我有这个,我想给它上色。通过“滤色器”,例如 Axis X [0,100] -> 蓝色。 X [100, 200] - 红色。

获取我在上面附加的图像。有可能吗?

【问题讨论】:

  • 您的强度在 0 到 100 之间?表示 0 是黑色的?
  • 是的,100 - 白色,0 是黑色。灰色地图

标签: matlab


【解决方案1】:

我不太确定颜色强度/光强度部分,但我认为这应该可以完成工作:

intense = [0 2 3 4;1 3 4 6;2 6 7 8];
intense = intense./100; %//Convert to percentage
RGBmat = zeros([size(intense), 3]); %//Create blank RGB map
%//set Col1 to red
RGBmat (:,1,1) = 255;
%//set Col2 to green
RGBmat(:,2,2) = 255;
%//set Col3 to Blue
RGBmat(:,3,3) = 255;

%//multiply intensity
Res = RGBmat .* repmat(intense,[1,1,3]); %//I am not sure about adjusting the intensity of each pixel.

据此帖Adjusting image intensity values

它应该看起来像这样?

J = (RGBmat ./ 255).^ repmat(intense,[1,1,3])*255 %//This is assuming that intensity matrix is from 0 to 255 not 1 to 100, you will have to normalize it I guess.

imshow(Res,'InitialMagnification','fit')
imshow(J,'InitialMagnification','fit')

注意 100 强度不是白色,而是默认黑色,这是因为当我将 RGBmat 设置为默认值时,我使用了零(这意味着黑色),如果你想它是白色的,你需要设置RGBmat 归零(...).*255;但是,这意味着当您将列设置为红色、绿色和蓝色时,您需要将其他通道设置为零:

所以对于红色,而不是将红色设置为 255;您需要将蓝色和绿色设置为 0。

========编辑更新内容============

假设您的强度矩阵(或您的灰度图像)是 I

你应该先把它转换成百分比:

Ipercent = double(I)./255;

接下来将其制作成 3D RGB 图像 -

IRGB = repmat(Ipercent,[1,1,3]);

现在你可以将你的颜色掩码乘以它:

%This line will multiply your first 1:100 column with a red mask
IRGB(:,1:100,1) = uint8(IRGB(:,1:100,1).*255); 

剩下的只是调整每个部分的颜色。

【讨论】:

  • 请看我的更新。
  • @delkov 为您的问题添加了解决方案
  • 谢谢,如何绘制?什么命令? (如果可能的话,它可以更平滑,不像像素)。
  • @delkov 像素是因为您的强度矩阵的大小,我无法使其更平滑,如果您希望它不像素化,您将需要更高分辨率的强度矩阵。要进行绘图,只需使用 imshow(IRGB, 'InitialMagnification','fit') 并在要将其保存为 JPG 时使用 imwrite。分辨率与 Intensity mat 的尺寸相同,如果是 1080*720,则图像分辨率为 1080pix * 720pix。
  • 我看到你了。我使用imagesc 创建了灰色图表,它们很平滑。我想,我们可以在之后写一些东西来获得一个“热图”。
猜你喜欢
  • 2013-07-08
  • 2013-09-19
  • 1970-01-01
  • 2021-11-18
  • 1970-01-01
  • 2020-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多