using the attached color image and ROI mask and how can I remove the background from the image and retain only the approximate ROI.

8 views (last 30 days)
the color image must have the dark background in the output image.

Accepted Answer

Matt Gaidica
Matt Gaidica on 12 Dec 2021
IM = imread('ROI.png');
mask = logical(imread('mask.png'));
rmMask = bsxfun(@times, IM, cast(mask, 'like', IM));
close all
  1 Comment
Nosipho Majola
Nosipho Majola on 12 Dec 2021
Edited: Nosipho Majola on 12 Dec 2021
Thank you Matt. Would you please help me out with a code that does not use built-in functon but still does the same thing? i.e. not using bsxfun()

Sign in to comment.

More Answers (1)

Image Analyst
Image Analyst on 12 Dec 2021
Edited: Image Analyst on 12 Dec 2021
Looks like you've accepted Matt's answer so you probably don't need this but
rgbImage = imread('ROI.png');
mask = logical(imread('mask.png'));
% Make mask 3-D
mask = cat(3, mask, mask, mask);
rgbImage(~mask) = 0;
I haven't tested it but that will probably work. If it's not your homework, try that.
If it's your homework then you may not be able to use imread(), cat(), logical(), imshow(), etc. so see this link:
and of course you wouldn't be able to use our code either - that would be even worse than using built-in functions and you could face disciplinary action.
Nosipho Majola
Nosipho Majola on 12 Dec 2021
@Image Analyst I did run the previous code you had given and the output image was not the one I was expecting, which is the one written "masked image" in this new code.
about the function, I did see that yours does not have it. it just that the output image was different from the one required.
i am about to try the edited one now, thank you.
Image Analyst
Image Analyst on 12 Dec 2021
OK, well if you run my demo with images called image1 and image2, it should look identical to the screenshot I posted in my last comment. If you alter it (like to handle your image names, or display things somewhat differently) and it doesn't work, then post your screenshot, two original images with the paperclip icon, and your code and I'll fix it.

Sign in to comment.


Find more on Modify Image Colors in Help Center and File Exchange




Community Treasure Hunt

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

Start Hunting!