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?
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.