MATLAB: Assign black pixels to binary image

image processingImage Processing Toolboximage segmentationmasking

I have a binary image and i want to assign black pixels to the white segment and then mask it on original image. How can i do that?binary.JPG

Best Answer

If "mask" is your binary image, and you want the white parts to be black (and the original pixels in the black areas of your binary image left unaltered) in your original grayscale or rgb image , called "yourImage", do this:
% Mask the image using bsxfun() function to multiply the mask by each channel individually.
maskedImage = bsxfun(@times, yourImage, cast(~mask, 'like', yourImage));