How to create a mask on an image and have the background white?
10 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
采纳的回答
Image Analyst
2014-9-6
If f1 is a uint8 RGB image, you can set
f1(~mask) = 255;
See attached masking demo, attached below this image it creates:
5 个评论
Image Analyst
2017-8-14
% Mask the image using bsxfun() function to multiply the mask by each channel individually.
maskedRgbImage = bsxfun(@times, rgbImage, cast(mask, 'like', rgbImage));
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Convert Image Type 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!