Matlab图像仅使用[0 1.0]图像显示黑色

时间:2012-06-07 19:21:33

标签: image matlab

我试图找出为什么我的黑白图像,0-1.0的值不会被图像(my_img)调用正确缩放。

我尝试了以下内容:

  • 设置色彩图([0:0.0039:1; 0:0.0039:1; 0:0.0039:1]')
  • 将gca的爬升设置为[0 1]
  • 将DataAspectRatio设置为[1 1 1]
  • 将ClimMode和DataAspectRatioMode更改为手动

我做错了什么? Matlab文档说明图像可以来自[0 1.0] ...为什么赢得图像()正确显示?

Imshow很有效但是我正在尝试使用图像功能为我个人的原因实现与imshow相同的图像。

2 个答案:

答案 0 :(得分:1)

h=image(rand(250, 250));
set(h, 'CDataMapping', 'scaled');

imagesc()自动执行此操作,实际上imagesc的源代码为我提供了正确的属性名称。

答案 1 :(得分:0)

image documentation(参见“提示”标题下的表格),您可以使用RGB值数组或索引颜色映射调用image,后者似乎就是您正在做的事情。从同一个表中可以看出索引的colourmap:

  

存储为[1, length(colormap)];范围内的二维(m-by-n)整数数组。色图是[0,1]范围内m-by-3浮点值数组

这里的关键点是图像数组中的值my_img应该在1256的范围内(我已经从“设置{{”这一行中猜到了这一点。 1}}“,你可能需要改变这个)。但是,您有0到1范围内的值,这些值都映射到colourmap中的第一种颜色,我认为它是colormap([0:0.0039:1; 0:0.0039:1; 0:0.0039:1]'或黑色。