How to mask a region in an image
3 views (last 30 days)
Show older comments
good day, I want to mask an image, my aim is detection of exudates so i want to remove optic disc from the image so that i can have only exudates detected here is my image

and this is my original image is

0 Comments
Answers (1)
Image Analyst
on 24 Mar 2014
Look at these two snippets showing two ways, one channel by channel and another that does it all in one line:
% Mask image must be converted to the same integer type
% as the integer image we want to mask.
mask = cast(binaryImage, class(rgbImage));
% Multiply the mask by each color channel individually.
maskedRed = redChannel .* mask;
maskedGreen = greenChannel .* mask;
maskedBlue = blueChannel .* mask;
% Recombine separate masked color channels into a single, true color RGB image.
maskedRgbImage = cat(3, maskedRed, maskedGreen, maskedBlue);
% An alternate method to multiplication channel by channel.
% Mask the image using bsxfun() function
maskedRgbImage = bsxfun(@times, rgbImage, cast(mask, class(rgbImage)));
1 Comment
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!