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

2 views (last 30 days)
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.

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!