我使用下面的代码来显示图中的6个图片。但是,输出包含一些不需要的区域。我想裁剪图像如下图所示。这意味着我想裁剪它,以便ROI包含我的6张照片。谢谢所有
这是我的代码
%% read images in a cell array
imgs = cell(6,1);
for i=1:6
imgs{i} = imread( sprintf('AT3_1m4_%02d.tif',i) );
end
figure(1)
spaceH=0.01;spaceV=0.06;marTop=0.3;marBot=0.08;
padding=0.0;margin=0.0;marginL=0.0;
yoffset = 12;
set(gcf,'units','normalized','outerposition',[0 0 1 1])
% set(gcf,'color','w');
for i=1:6
subaxis(2,3,i,'SpacingHoriz', spaceH, ...
'SpacingVert',spaceV, 'PL',padding,'PR',padding,'mt',...
marTop,'mb',marBot,'ML',marginL,'MR',margin); title('Original');
imshow(imgs{i},[0 255], 'InitialMag',90, 'Border','tight');
xlb{i} = xlabel(['(' char(96+i) ')'],'FontSize', 16);
xp = get(xlb{i}, 'position');
xp(2) = xp(2) - yoffset; % update y-position
set(xlb{i}, 'position', xp); % assign new position
end
这是我当前的图片
我希望输出为
答案 0 :(得分:0)
你的问题是这个命令:
set(gcf,'units','normalized','outerposition',[0 0 1 1])
你强迫窗口达到一定的大小。
您可以做的是以下内容: 1.注释掉这条线。 2.执行你的代码。 3.找出窗口需要的大小并进行扩展。