Object extraction from background

Hello, I have so many image that i need to extract object from them(remove the background) i have tested automatic thresholding to estimate the background gray level, also i hae tried Level set , but both method give good result for some images and poor result for other , i'm asking if there is a robust and good way to do this task. Please can anyone put me in the right direction.
here is an example that contain many object:
here is another one that contain one object:
Thank you

Answers (2)

Image Analyst
Image Analyst on 31 Jan 2017
Edited: Image Analyst on 31 Jan 2017
I'd probably do a texture filter like stdfilt(), maybe ORed with an edge detector, and then threshold and fill the blobs with imfill. Let me know if you can't figure it out. Attach the images without the red graphical outlines on them.

1 Comment

Lafi Raed
Lafi Raed on 31 Jan 2017
Edited: Lafi Raed on 31 Jan 2017
please can you explain more, also what is ORed with edge detector ?? here is the Original Image you can acces to them

Sign in to comment.

Image Analyst
Image Analyst on 1 Feb 2017
See attached demo. It could be improved, but for 10 minutes work, it's a start.

10 Comments

Thank you for such great answer, but can i do it in automatic way to set the thresold value?? i mean how can do automtically??
Have you observed that the best threshold changes for different images? If so you'll have to use some kind of rule to pick the threshold instead of using a fixed one. One I like is the triangle threshold, attached.
Lafi Raed
Lafi Raed on 2 Feb 2017
Edited: Lafi Raed on 2 Feb 2017
Hello, the problem is the edge is not smooth can get something like this: for single image it cn be done but for images that contain more one object it wil be challenging how can i improve the same result ??
Yes - you can use splines or activecontour(). See attached demos.
okay thank you, also there is another problem, i want to remove the shado from images that contain objcts?? how i can do !!
Lafi Raed
Lafi Raed on 4 Feb 2017
Edited: Lafi Raed on 4 Feb 2017
i need a robust shadow removal!! becuase i want to get a picture for the background then another picture for many object placed in the same background then dubtract those 2 images , it seems to give me those object but i have a problem of shadow and i need a robust shadow removal. can you suggest a robust one. thank you
Sorry, I don't and can't recommend one. The one I saw at the University of Dayton, that they developed, looked pretty good.
please can you give me the refernce for the University of Dayton?
One of them is about shadow removal.

Sign in to comment.

Asked:

on 31 Jan 2017

Commented:

on 4 Feb 2017

Community Treasure Hunt

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

Start Hunting!