在matlab上的标记图像上使用imwrite

时间:2017-11-14 14:00:06

标签: matlab image-processing image-segmentation boundary

我的图像是标记和应用边界的结果。每个对象都标有数字,然后定义其边界。

Image to save

我使用的代码如下:

% 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进行图像后期处理。它似乎很容易,但每次我尝试它只保存标签或只保存灰度图像上的边界。我需要它们,就像我上面上传的图像一样。感谢。

编辑:作为替代方案,我可以直接在GUI界面中上传图像,但仍然保留在变量中保存正确图像的问题。

1 个答案:

答案 0 :(得分:0)

您可以使用export_figsaveas

您可以在链接上找到许多示例,但您可以尝试的最简单的命令是:

saveas(gcf,'filename.png')