可能重复:
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]);
我只获得图像对象的处理程序
答案 0 :(得分:3)
您可以通过以下方式从图像图中获取图像数据:
A = rand(100,100);
I = imagesc(A, [.5 .9]);
B = get(I, 'CData');
从您之前的问题预测:Scale Matrix to a new range我希望B
不是您想要的。实际上B
与A
相同。这可以通过以下方式验证:
all(all(A==B))
imagesc
的第二个参数不会缩放提供的矩阵中的值,而是缩放色彩图。
答案 1 :(得分:2)
尝试getimage
command:
A = rand(100,100);
I = imagesc(A, [.5 .9]);
B = getimage(gca);