using the attached color image and ROI mask and how can I remove the background from the image and retain only the approximate ROI.
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Nosipho Majola
el 12 de Dic. de 2021
Comentada: Image Analyst
el 12 de Dic. de 2021
the color image must have the dark background in the output image.
0 comentarios
Respuesta aceptada
Matt Gaidica
el 12 de Dic. de 2021
IM = imread('ROI.png');
mask = logical(imread('mask.png'));
rmMask = bsxfun(@times, IM, cast(mask, 'like', IM));
close all
figure;
imshow(rmMask);
See also: Masking out Image area using Binary Mask
1 comentario
Más respuestas (1)
Image Analyst
el 12 de Dic. de 2021
Editada: Image Analyst
el 12 de Dic. de 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.
4 comentarios
Image Analyst
el 12 de Dic. de 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.
Ver también
Categorías
Más información sobre Get Started with Image Processing Toolbox en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!