2016-04-13 7 views
0

Was ist der Unterschied zwischen subImage und subplot? und wenn es möglich ist, bitte erklären Sie mir ein Beispiel, wo ich jedes benutze.Unterschied zwischen SubImage und Subplot

Auch ich habe ein Beispiel, wo beide:

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

Hier ist, wo ich nicht weiß, was es der Unterschied zwischen ihnen ist.

Antwort

6

subimage

subimage (aus der Bildverarbeitung Toolbox) ermöglicht es Ihnen, mit zwei verschiedenen Farbtabellen zwei Bilder in der gleichen Figur haben. In älteren Versionen von MATLAB war es nicht möglich, zwei indizierte Bilder in der gleichen Abbildung mit unterschiedlichen Colormaps zu erstellen (z. B. gray und jet). subimage können Sie das haben. Dies unterscheidet sich jedoch effektiv nicht von der Konvertierung indizierter Bilder in RGB-Bilder.

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

Und als Beispiel:

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

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

enter image description here

In neueren Versionen von MATLAB Sie können eine andere colormap pro Achsen angeben, damit Sie tun können:

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

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

subplot

subplot ist nicht Teil einer Toolbox und ermöglicht es Ihnen, einfach ein Raster von axes auf einer Figur zu organisieren. Diese Achsen können ein Bild enthalten, aber sie können auch ein normales Liniendiagramm oder ein beliebiges Grafikobjekt enthalten.

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

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

enter image description here

In Ihrem Beispiel könnten Sie genauso gut axes statt subplot verwenden.

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

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