How to save an image with an overlay mask applied to it?
8 views (last 30 days)
Show older comments
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?
0 Comments
Accepted Answer
Andrew Davis
on 6 Feb 2013
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.
0 Comments
More Answers (1)
Image Analyst
on 4 Feb 2013
How about saving OverlayMask (which is generated by the alphamask program) with imwrite:
imwrite(OverlayMask, theFullFileName);
Isn't this what you asked?
2 Comments
Andrew Davis
on 6 Feb 2013
Unfortunately imwrite will not work in this case because OverlayMask is just a scalar value (representing the graphic handle).
Image Analyst
on 6 Feb 2013
Then just save ContornoMask
imwrite(ContornoMask , theFullFileName);
See Also
Categories
Find more on Printing and Saving in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!