У меня есть изображение, которое является результатом маркировки и применения границ. Каждому объекту присваивается номер, затем определяется его граница.
Код, который я использовал, следующий:
% 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, но проблема сохранения правильного изображения в переменной все еще остается.