How to mask a region in an image
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponses (1)
Image Analyst
le 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 commentaire
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!