Image 在Matlab中从单个图像中裁剪多个零件
我想从图像中裁剪多个部分,使用鼠标指针制作GroundTruth。每个对象中有不同数量的对象,因此我无法在特定次数内运行Image 在Matlab中从单个图像中裁剪多个零件,image,matlab,crop,Image,Matlab,Crop,我想从图像中裁剪多个部分,使用鼠标指针制作GroundTruth。每个对象中有不同数量的对象,因此我无法在特定次数内运行for循环。但是,我可以使用while循环。但我怎样才能阻止它呢 for i=1:10 [tt bb]=imcrop(img); crop.img{i,:}=tt; crop.bb(i,:)=bb; end 您可以为此使用条件。裁剪完一个图像部分并想要裁剪另一部分后,单击任意鼠标按钮,循环将继续。当您不想裁剪任何其他部分时,按任何键盘按钮,循环将被删
for
循环。但是,我可以使用while
循环。但我怎样才能阻止它呢
for i=1:10
[tt bb]=imcrop(img);
crop.img{i,:}=tt;
crop.bb(i,:)=bb;
end
您可以为此使用条件。裁剪完一个图像部分并想要裁剪另一部分后,单击任意鼠标按钮,循环将继续。当您不想裁剪任何其他部分时,按任何键盘按钮,循环将被删除
演示代码:
img = imread('peppers.png');
f = figure;
k = 1;
while 1
[tt, bb] = imcrop(img);
crop.img{k,:} = tt;
crop.bb{k,:} = bb;
if waitforbuttonpress
break;
end
k = k+1;
end
请注意,它要求您的体形窗口处于焦点位置。如果您想退出,只需按Esc键如何
img = imread('peppers.png');
k = 1;
f = figure;
imshow(img)
while true
title('Double click to select next area, press Esc when finished')
[tt, bb] = imcrop(f);
if isempty(tt)
close(f)
break
end
crop.img{k,:} = tt;
crop.bb{k,:} = bb;
k = k+1;
end
请说明您是如何尝试回答的this@Raha我已经用代码更新了。再次使用
for
循环。我想使用while
或其他可以停止的功能