MATLAB - Как я могу обрезать часть изображения из файла .fig и сохранить его как .mat? - PullRequest
0 голосов
/ 10 сентября 2018

У меня есть файл .fig. Я поместил квадрат 32x32 на изображение, где я хочу. Я пишу этот код:

h = imrect(gca,[1 1 32 32]);

Однако я не обрезаю 32x32 часть изображения. Как обрезать и сохранить как .mat из .fig?

1 Ответ

0 голосов
/ 10 сентября 2018

Вы можете использовать свойство getPosition объекта imrect . Если вы работаете с файлом .fig , вы можете изначально использовать функцию getimage , чтобы получить изображение из дескриптора Image.

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

Исходное изображение:

enter image description here

добавлен прямой объект :

enter image description here

Обрезанный элемент :

enter image description here

...