获取imagesc后的矩阵?

时间:2013-01-16 17:30:56

标签: matlab

  

可能重复:
  imagesc plot to matrix in matlab
  Scale Matrix to a new range

我有:

I = imread('image.tif');

此时,通过I(100,100)
,我可以轻松地用线100,100打印像素 现在我缩放到图像以适应范围0.5...0.9

imagesc(I,[0.5 0.9]);
colormap('gray');

有没有办法获得新的矩阵? (像素值从0.5到0.9)

如果我这样做

I  = imagesc(I,[0.5 0.9]);

我只获得图像对象的处理程序

2 个答案:

答案 0 :(得分:3)

您可以通过以下方式从图像图中获取图像数据:

A = rand(100,100);
I = imagesc(A, [.5 .9]);
B = get(I, 'CData');

从您之前的问题预测:Scale Matrix to a new range我希望B不是您想要的。实际上BA相同。这可以通过以下方式验证:

all(all(A==B))

imagesc的第二个参数不会缩放提供的矩阵中的值,而是缩放色彩图。

答案 1 :(得分:2)

尝试getimage command

A = rand(100,100);
I = imagesc(A, [.5 .9]);
B = getimage(gca);