Image 在matlab中显示同一图形中重叠的多幅图像

Image 在matlab中显示同一图形中重叠的多幅图像,image,matlab,Image,Matlab,我有一个图像,我覆盖了一个补丁,我想能够显示多个图像在同一个图形上所有不同的覆盖补丁。我尝试使用subplot命令,但没有成功。我在下面定义了我的轴和父图形 hFig = figure; hAx = axes('Parent',hFig); hAx2 = axes('Parent',hFig); fh = figure('units','pixels',... 'position',[300 300 440 500],... 'menubar','non

我有一个图像,我覆盖了一个补丁,我想能够显示多个图像在同一个图形上所有不同的覆盖补丁。我尝试使用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');

这是我想做的基本想法,但由于某些原因,我无法让它发挥作用。我是不是用错把手了

我不能完全肯定这会解决你想做的事情,但我认为这会给你一个正确的方向


您可能还需要使用来应用修补程序,而无需替换首先显示的图像。

是否尝试执行以下操作:

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);

是否要在图形的同一面板中显示图像?或者在子批次中这样做可以接受吗?相同图形上的不同面板是首选的,但子批次也可以。是的,这正是我想要的!