如何使用交互式工具在 matlab 中裁剪图像?
How to crop an image in matlab using interactive tool?
我想从图像的特定位置裁剪出尺寸为 250 X 250 像素的 window。我怎样才能做到这一点?我看过imtool
但不知道如何控制裁剪的大小window。
这可以通过多种方式完成。例如,您可能有一个图像 im
,并使用 imtool(im)
找到要裁剪到的 window 右上角的坐标 (x,y)
。您可以通过将鼠标光标悬停在像素上并查看 imtool-window.
左下角的括号来找到此坐标。
然后根据图像的存储方式,您可以通过 cropim = im(y+(0:249),x+(0:249));
或 cropim = im(y+(0:249),x+(0:249),:);
获得裁剪后的图像。
使用 imrect
,设置大小并使其不可调整大小,然后 imcrop
,类似于:
figure, imshow(I);
h = imrect(gca, [10 10 250 250]);
setResizable(h,0)
rect = wait(h);
% now move to appropriate position
% command line blocked until rectangle is double clicked
I2 = imcrop(I, rect)
我想从图像的特定位置裁剪出尺寸为 250 X 250 像素的 window。我怎样才能做到这一点?我看过imtool
但不知道如何控制裁剪的大小window。
这可以通过多种方式完成。例如,您可能有一个图像 im
,并使用 imtool(im)
找到要裁剪到的 window 右上角的坐标 (x,y)
。您可以通过将鼠标光标悬停在像素上并查看 imtool-window.
然后根据图像的存储方式,您可以通过 cropim = im(y+(0:249),x+(0:249));
或 cropim = im(y+(0:249),x+(0:249),:);
获得裁剪后的图像。
使用 imrect
,设置大小并使其不可调整大小,然后 imcrop
,类似于:
figure, imshow(I);
h = imrect(gca, [10 10 250 250]);
setResizable(h,0)
rect = wait(h);
% now move to appropriate position
% command line blocked until rectangle is double clicked
I2 = imcrop(I, rect)