- Don't use a bounding box. Use the actual pixels, like what you get from PixelIdxList or the labeled image.
- Why are you eroding anyway?
- This is not a question
Image Segmenting a Cell Cluster
12 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Im building a program which will take in images, such as the one attached below (original.jpg), and identify individual cells. So far it has been relatively successful, and through image segmentation I can get something like this (orignal segmentation.jpg).
What my program seems to have trouble with are cell clusters. The function recognizes a large group of cells as one object, but I would like to be able to outline accurately all the individual cells within it. So far I am able to isolate a cluster (cluster original.jpg), erode the image, binarize it through thresholding (cluster binary.jpg), and obtain rough boundaries of most of the cells (cluster clean.jpg).
Some primary issues
- Because I isolate each cluster through a BoundaryBox, other stray cells may be included in the picture as well
- Image erosion causes some cells to have a dark circle at its end, which, after binarization, looks like a separate cell.
- I need to set a threshold factor for each cluster, even within the same image
How can I go about tackling these remaining issues? Is there a better method of segmentation here?
0 comentarios
Respuestas (1)
Image Analyst
el 28 de Jul. de 2016
What do you really want to know about the image? Surely not a list of (x,y) boundary coordinates. What to you want really? Count? Area? Something else?
2 comentarios
Image Analyst
el 28 de Jul. de 2016
Sounds like what you really need is the count and the tracking of the centroid. Sounds like you were trying to do what a tophat or bottom hat filter does, but you didn't know of the existence of imtophat() or imbothat(). You can flatten the field by using adapthisteq() or by fitting a 2-D polynomial to the image and dividing by that. You can enhance edges with a linear filter using conv2(). Just make a kernel with a positive center and negative values around it. This is equivalent to doing a dog (difference of Gaussians) filter.
Ver también
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!