2

我有一个用补丁覆盖的图像,我希望能够在同一个图形上显示多个图像,所有这些图像都具有不同的覆盖补丁。我尝试使用 subplot 命令,但它不起作用。我在下面定义了我的轴和父图。

hFig = figure;
hAx = axes('Parent',hFig);
hAx2 = axes('Parent',hFig);

fh = figure('units','pixels',...
          'position',[300 300 440 500],...
          'menubar','none',...
          'name','SliderTool',...
          'numbertitle','off',...
          'resize','off');


subplot(1,2,1) imshow(image1,'Parent','hAx');
patch(....,'parent', 'hAx');
subplot(1,2,2) imshow(image2,'Parent','hAx2');
patch(....,'parent', 'hAx2');

这是我想做的事情的基本想法,但由于某种原因我无法让它发挥作用。我是否错误地使用了把手?

4

2 回答 2

1

我不完全确定这会解决你想要做的事情,但我认为它会给你指明正确的方向。

子图选项

Imshow/子图像选项

您可能还需要使用Hold来应用补丁而不替换您首先显示的图像。

于 2012-07-09T19:05:22.813 回答
1

你是否试图做这样的事情:

image1 = imread('street1.jpg');
image2 = imread('street2.jpg');

ha1 = subplot(1,2,1) ;
imshow(image1);    
X = get(ha1,'Xlim')/2;
Y = get(ha1,'Ylim')/2;    
patch(X([1 2 2 1]),Y([1 1 2 2]),'m','FaceAlpha',0.5,'parent', ha1 );

ha2 = subplot(1,2,2) ;
imshow(image2);
X = get(ha2,'Xlim')/2;
Y = get(ha2,'Ylim')/2;    
patch(X([1 2 2 1]),Y([1 1 2 2]),'b','FaceAlpha',0.3,'parent', ha2);
于 2012-07-09T21:11:42.530 回答