如何在matlab gui中显示轴上的切片图像?

时间:2015-05-14 12:17:57

标签: matlab user-interface image-processing

我使用mat2cell()功能切片图像。我可以在subplot中一起显示所有切片图像。但我希望使用axes在GUI中显示相同内容。这是我想在axes中显示的图片。

enter image description here

这是我用来切片图像的代码:

K = imresize(J,[128 128]);
C = mat2cell(K,[64,64],[64,64]);

%plotting

figure;
subplot(2,2,1),imshow(C{1});
subplot(2,2,2),imshow(C{2});
subplot(2,2,3),imshow(C{3});
subplot(2,2,4),imshow(C{4});

我不知道如何在一个axes中显示这4张图片。

有什么建议吗?

提前致谢!

1 个答案:

答案 0 :(得分:1)

似乎无法在单个轴上添加多个图像。 我运行你的代码,我的印象是你的目标是将原始图像分成4个部分然后混合它们并获得新的图像。 如果是这样,那么采取4件(4个酒窖)并生成一个新的矩阵,然后将其显示在一个轴上呢?

a=imread('Jupiter_New_Horizons.jpg');

f=figure('unit','normalized','name','ORIGINAL IMAGE');
% My image is not BW
a(:,:,2:3)=[];
imshow(a)

K = imresize(a,[128 128]);

C = mat2cell(K,[64,64],[64,64]);

f=figure('unit','normalized','name','SPLIT IMAGE');
fp=get(gcf,'position')

subplot(2,2,1),imshow(C{1});
subplot(2,2,2),imshow(C{2});
subplot(2,2,3),imshow(C{3});
subplot(2,2,4),imshow(C{4});

tmp1=C{1,1};
tmp2=C{1,2};
tmp3=C{2,1};
tmp4=C{2,2};

TMP=[tmp1 tmp3;tmp2 tmp4];

f=figure('unit','normalized','name','NEW IMAGE');

ax=axes

imshow(TMP,'parent',ax)
set(gcf,'position',fp)

原始图片

enter image description here

拆分图片

enter image description here

新图片

enter image description here

希望这有帮助。