How to create a mask on an image and have the background white?

10 vues (au cours des 30 derniers jours)
Martha
Martha le 6 Sep 2014
Commenté : Image Analyst le 14 Août 2017
Hi, I create a mask into an image and I did this:
i=roipoly(f1,p1,p2);
mask=repmat(i,[1,1,3]);
f1(~mask)=1;
imshow(f1)
and it work very well but my problem is that I want to have the background white instead of black. How can I create a mask into an image, leaving a region of interest as it is (image) and all the rest as color white?
I appreciate some suggestions. Martha

Réponse acceptée

Image Analyst
Image Analyst le 6 Sep 2014
If f1 is a uint8 RGB image, you can set
f1(~mask) = 255;
See attached masking demo, attached below this image it creates:
  5 commentaires
Me  Fernz
Me Fernz le 12 Août 2017
Thank you!!
Image Analyst
Image Analyst le 14 Août 2017
% Mask the image using bsxfun() function to multiply the mask by each channel individually.
maskedRgbImage = bsxfun(@times, rgbImage, cast(mask, 'like', rgbImage));

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Convert Image Type dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by