我有一个.fig文件。我在想要的图像上放置 32x32 正方形。我写这段代码:
h = imrect(gca,[1 1 32 32]);
但是我没有裁剪图像的 32x32 部分。如何从.fig裁剪并另存为.mat?
答案 0 :(得分:2)
您可以使用imrect对象的 getPosition 属性。如果您使用的是 .fig 文件,则可以最初使用getimage函数从“图像”手柄获取图像。
%% If you are working with a image file.
%Sample image.
%I = imread('cameraman.tif');
%Display image.
%imshow(I);
%% If you are working with a .fig file.
%In the following example, yourfile.fig is cameraman.tif previously saved as a .fig file.
I = open('yourfile.fig')
I = getimage(I);
%Draw rectangle.
h = imrect(gca,[100 30 40 32]);
%Crop rectangle.
J=imcrop(I,h.getPosition);
%Show rectangle.
imshow(J);
%Save as .mat file
save('mymatfile.mat','J');
初始图片:
添加了不正确的对象:
已裁剪的元素: