subImage和subplot之间的区别

时间:2016-04-13 16:59:12

标签: image matlab plot matlab-figure axes

subImagesubplot之间有什么区别?如果有可能,请向我解释一下我使用每一个的例子。

另外,我有两个例子:

load trees
[X2,map2] = imread('forest.tif');
subplot(1,2,1), subimage(X,map)
subplot(1,2,2), subimage(X2,map2)`

这里我不知道它们之间的区别是什么。

1 个答案:

答案 0 :(得分:6)

subimage

subimage(来自图像处理工具箱)允许您在同一图中使用两个不同的颜色图具有两个图像。在旧版本的MATLAB中,不可能在同一图中使用不同的颜色映射(例如grayjet)具有两个索引图像。 subimage允许你拥有它。然而,这与将索引图像首先转换为RGB图像实际上没有什么不同。

rgbimage = ind2rgb(indexedimage, colormap);
imshow(rgbimage);

作为一个例子:

subplot(1,2,1);
imshow(ind2rgb(X, map));

subplot(1,2,2);
imshow(ind2rgb(X2, map2));

enter image description here

在较新版本的MATLAB中,可以为每个轴指定不同的色彩映射,以便您可以这样做:

ax1 = subplot(1,2,1);
imagesc(X)
colormap(ax1, map);

ax2 = subplot(1,2,2);
imagesc(X2);
colormap(ax2, map2);

subplot

subplot不属于任何工具箱,可让您轻松地在图形上组织axes网格。这些轴可以包含图像,但它们也可以包含常规线图或任何图形对象。

subplot(1,2,1)
plot(rand(10,1))

subplot(1,2,2)
imagesc(rand(10))
axis image

enter image description here

在您的示例中,您可以轻松使用axes代替subplot

ax1 = axes('Position', [0 0 0.5 1]);
subimage(X, map);

ax2 = axes('Position', [0.5 0 0.5 1]);
subimage(X2, map2);