Remove background from image
17 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hi, i'd like to remove the background from RGB images. Since this have to be done in a lot of images i'd like to automate this task.
Original image with background:

The image should be transformed as this one below, without background.

I have cropped the images as the first one, however, i'm getting in trouble to remove the background.
0 comentarios
Respuestas (1)
DGM
el 30 de Abr. de 2023
% read the image
inpict = imread('https://www.mathworks.com/matlabcentral/answers/uploaded_files/217934/mx01.jpeg');
% you could use color-based thresholding
% but with the low contrast and chroma, JPG damage is an obstacle
% in this case, there's plenty of object contrast in luma alone
Ymask = rgb2gray(inpict)<128;
Ymask = ~imfill(Ymask,'holes');
% adjust white level
inlevels = stretchlim(inpict).*[0; 1];
outpict = imadjust(inpict,inlevels);
% apply mask
outpict(repmat(Ymask,[1 1 3])) = 255;
imshow(outpict)
0 comentarios
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
