используя imwrite на помеченном изображении на Matlab

У меня есть изображение, которое является результатом маркировки и применения границ. Каждому объекту присваивается номер, затем определяется его граница.

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

Код, который я использовал, следующий:

% bwboundaries() returns a cell array, where each cell contains the 
% row/column coordinates for an object in the image.
% Plot the borders of all the coins on the original grayscale image 
% using the coordinates returned by bwboundaries.

figure(2);
imshow(bwImage);
[r, c, p] = size(bwImage);
hold on
title('Outlines, from bwboundaries()', 'FontSize', fontSize); 
axis image;
% Make sure image is not artificially stretched because of 
% screen's aspect ratio.
hold on;
boundaries = bwboundaries(bw5);
numberOfBoundaries = size(boundaries, 1);
for k = 1 : numberOfBoundaries
thisBoundary = boundaries{k};
plot(thisBoundary(:,2), thisBoundary(:,1), 'g', 'LineWidth', 2);
end
hold off;

Теперь я хочу сохранить изображение в градациях серого И границы + метки, примененные над ними, в переменной, чтобы затем я мог сделать следующее:

imwrite(A,'contours.jpg');

и сохраните изображение, чтобы выполнить пост-обработку изображения с графическим интерфейсом. Это казалось очень простым, но каждый раз, когда я пытаюсь, он сохраняет только метки или только границы на изображении в градациях серого. Мне нужны они оба, как на изображении, которое я загрузил выше. Спасибо.

РЕДАКТИРОВАТЬ: В качестве альтернативы я мог бы напрямую загрузить изображение в интерфейс GUI, но проблема сохранения правильного изображения в переменной все еще остается.


person Jack    schedule 14.11.2017    source источник


Ответы (1)


Вы можете использовать export_fig или сохранить как.

Вы можете найти много примеров по ссылкам, но самая простая команда, которую вы можете попробовать:

saveas(gcf,'filename.png')
person m3tho    schedule 14.11.2017
comment
Ура, приятель, я напутал с ГДЕ, чтобы добавить эту конкретную команду. - person Jack; 14.11.2017