How to save an image with an overlay mask applied to it?

조회 수: 2 (최근 30일)
Antonio
Antonio 2013년 2월 3일
Consider the following code
I = imread('pout.tif');
figure, imshow(I);
h = imfreehand (gca, 'Closed',false);
wait(h);
maskColor = getColor(h);
bwMask = createMask(h);
ContornoMask = imdilate(bwMask, true(3)) & ~imerode(bwMask, true(3));
imshow(I, [], 'Colormap', gray(256));
OverlayMask =alphamask(ContornoMask, maskColor, 0.5); %%how do I save the image with the overlay mask applied?
I don't understand why OverlayMask is a scalar value instead of a logical matrix.
I want to save the image generated by alphamask (<http://www.mathworks.com/matlabcentral/fileexchange/34936-alphamask-semi-transparent-image-overlay>) as a new image matrix. How can I do this?

채택된 답변

Andrew Davis
Andrew Davis 2013년 2월 6일
Alphamask is a display tool. Your 'OverlayMask' variable is a scalar because alphamask returns a handle to the graphic. If you wanted the logical matrix, you already have it as 'ContornoMask', right?
To save the image with the mask applied, I recommend saveas:
saveas(OverlayMask, 'imagefile', 'jpg')
Or, in general, gcf can be used as a handle to the figure if you like:
saveas(gcf, 'imagefile', 'jpg')
Of course you may choose different file formats including Matlab's 'fig'. If you find alphamask useful, please leave a rating on the file exchange page.

추가 답변 (1개)

Image Analyst
Image Analyst 2013년 2월 4일
How about saving OverlayMask (which is generated by the alphamask program) with imwrite:
imwrite(OverlayMask, theFullFileName);
Isn't this what you asked?
  댓글 수: 2
Andrew Davis
Andrew Davis 2013년 2월 6일
Unfortunately imwrite will not work in this case because OverlayMask is just a scalar value (representing the graphic handle).
Image Analyst
Image Analyst 2013년 2월 6일
Then just save ContornoMask
imwrite(ContornoMask , theFullFileName);

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Printing and Saving에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by