2

可能重复:
imagesc 绘制到 matlab 中的矩阵 将矩阵
缩放到新范围

我有:

I = imread('image.tif');

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

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

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

如果我做

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

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

4

2 回答 2

3

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

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

根据您之前的问题进行预测:将矩阵缩放到一个新的范围,我希望这B不是您想要的。实际上B将与A. 这可以通过以下方式验证:

all(all(A==B))

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

于 2013-01-16T17:41:40.277 回答
2

试试getimage 命令

A = rand(100,100);
I = imagesc(A, [.5 .9]);
B = getimage(gca);
于 2013-01-16T17:43:59.380 回答