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

Respuestas (2)

Image Analyst
Image Analyst el 31 de En. de 2017
Editada: Image Analyst el 31 de En. de 2017

0 votos

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 comentario

Lafi Raed
Lafi Raed el 31 de En. de 2017
Editada: Lafi Raed el 31 de En. de 2017
please can you explain more, also what is ORed with edge detector ?? here is the Original Image you can acces to them

Iniciar sesión para comentar.

Image Analyst
Image Analyst el 1 de Feb. de 2017

0 votos

See attached demo. It could be improved, but for 10 minutes work, it's a start.

10 comentarios

Lafi Raed
Lafi Raed el 1 de Feb. de 2017
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??
Image Analyst
Image Analyst el 1 de Feb. de 2017
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 el 2 de Feb. de 2017
Editada: Lafi Raed el 2 de Feb. de 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 ??
Image Analyst
Image Analyst el 2 de Feb. de 2017
Yes - you can use splines or activecontour(). See attached demos.
Lafi Raed
Lafi Raed el 3 de Feb. de 2017
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 el 4 de Feb. de 2017
Editada: Lafi Raed el 4 de Feb. de 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
Image Analyst
Image Analyst el 4 de Feb. de 2017
Sorry, I don't and can't recommend one. The one I saw at the University of Dayton, that they developed, looked pretty good.
Lafi Raed
Lafi Raed el 4 de Feb. de 2017
please can you give me the refernce for the University of Dayton?
Image Analyst
Image Analyst el 4 de Feb. de 2017
One of them is about shadow removal.

Iniciar sesión para comentar.

Preguntada:

el 31 de En. de 2017

Comentada:

el 4 de Feb. de 2017

Community Treasure Hunt

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

Start Hunting!

Translated by