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

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)

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

Products

Release

R2020a

Asked:

on 29 Jun 2020

Answered:

on 22 Jul 2020

Community Treasure Hunt

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

Start Hunting!