how to do masking with the help of binary image?
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Manoj Kumar
am 3 Nov. 2014
Beantwortet: Image Analyst
am 3 Nov. 2014
Hi,
I have a binary image and using that binary image I wish to do masking.
Here is the binary image:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/145951/image.jpeg)
Using this binary image I want to mask to the original Image.
Here is the original Image:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/145952/image.jpeg)
I want the output as :
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/145953/image.jpeg)
So, the output image should have the binary image portion and the remaining should be black("0").
Can you suggest me the code to do this.
Thanks...
0 Kommentare
Akzeptierte Antwort
Guillaume
am 3 Nov. 2014
Bearbeitet: Guillaume
am 3 Nov. 2014
repmat your binary image across the three colour channels and use the invert of that as logical index into your colour image to set the pixels to 0:
colourmask = repmat(binarymask, [1 1 3]);
maskedimage = colourimage;
maskedimage(~colourmask) = 0;
0 Kommentare
Weitere Antworten (1)
Image Analyst
am 3 Nov. 2014
Here's a way that Sean recommends:
% Mask the image using bsxfun() function
maskedRgbImage = bsxfun(@times, rgbImage, cast(mask, class(rgbImage)));
It works for grayscale images too. I also attach some full demos, if you're interested.
0 Kommentare
Siehe auch
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!