I want to make a background black and foreground is same as original.
Show older comments
O=imread('wed.jpg');
figure,imshow(O);
whos O
C=rgb2gray(O);
figure,imshow(C);
b=C > 128;
whos b
[m n]=size(b)
for i=1:m
for j=1:n
if (b(i,j)==1)
bIn3Dims(i,j,:)= O(i,j,:)
end
end
end
figure,imshow(b)

Answers (1)
Puru Kathuria
on 22 Jul 2020
0 votes
Hi,
You can try activecontour and lazysnapping. Both of them are for segmenting image into background and foreground using contours and graph-based segmenting respectively.
Also have a look at this Image Segmentation Tutorial.
References/Citations:
Image Analyst (2020). Image Segmentation Tutorial, MATLAB Central File Exchange. Retrieved July 22, 2020.
Categories
Find more on Image Processing Toolbox 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!