I want to make a background black and foreground is same as original.

2 views (last 30 days)
Sandeep parajuli
Sandeep parajuli on 29 Jun 2020
Answered: Puru Kathuria on 22 Jul 2020
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
Puru Kathuria on 22 Jul 2020
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.

Community Treasure Hunt

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

Start Hunting!