![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/282619/image.jpeg)
Changing image background from black to white
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Mona Al-Kharraz
il 7 Apr 2020
Commentato: Shafiullah Soomro
il 4 Ott 2020
Hi,
I have chromosomes image and I segmented this image to multiple chromosome images (46 images). But after segmentation I got these images in black background. How I can changes the balck background to white?
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/282601/image.jpeg)
0 Commenti
Risposta accettata
Ilian
il 7 Apr 2020
You can try using connected components. With relatively simple problems this could work:
img_original = imread('image.jpeg'); % load image
img_pad = padarray(img_original,[10 10], 0); % pad to simplify cc
threshold = 35;
img_pad(img_pad<threshold) = 0; % threshold image
img_pad(img_pad>=threshold) = 1;
img_inverted = 1-img_pad; % invert image
CC = bwconncomp(img_inverted,4); % find connected components
pixelList = []; % list of pixel in background
for i = 1:length(CC.PixelIdxList)
% discard small components that are part of the chromosome
if length(CC.PixelIdxList{1,i}) > 1000
pixelList = [pixelList cell2mat(CC.PixelIdxList(i))'] ;
end
end
mask = zeros(size(img_pad)); % create a mask
mask(pixelList) = 1;
mask = mask(11:end-10,11:end-10); % remove padding
img_corrected = img_original;
img_corrected(logical(mask)) = 255; % set background pixels to white
% PLOT
figure;
subplot(1,4,1); imagesc(img_original); axis image; colormap gray
subplot(1,4,2); imagesc(img_inverted); axis image; colormap gray
subplot(1,4,3); imagesc(mask); axis image; colormap gray
subplot(1,4,4); imagesc(img_corrected); axis image; colormap gray
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/282619/image.jpeg)
2 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Red in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!