How to perform image segmentation

2 views (last 30 days)
Chathu
Chathu on 29 Apr 2015
Commented: Chathu on 13 May 2015
I want to manually segment a small object(eg: a feature similar to cell nucleus) which is located within the original image. Can anyone kindly tell me what is the cause to obtain the boundary of the segmented image larger than the real image? (though i drew the boundary along the cell nucleus, segmented image still gives larger segmentation.
Thank you.

Accepted Answer

Image Analyst
Image Analyst on 29 Apr 2015
  7 Comments
Image Analyst
Image Analyst on 12 May 2015
Chathu, that's what my Image Segmentation Tutorial does. http://www.mathworks.com/matlabcentral/fileexchange/25157-image-segmentation-tutorial Just tell it to get the dark things instead of the bright things. It will crop them out into separate subimages. Then you can just save the subimages with imwrite().
Chathu
Chathu on 13 May 2015
Image Analyst- thank you so much for the tutorial and your responses. Really admire your effort.

Sign in to comment.

More Answers (2)

Thomas Koelen
Thomas Koelen on 29 Apr 2015
If I understand you correctly, you want to extract only the nucleus, and not the background, this is impssible because you can't make an image that's not a rectangle. You can however make the backround white.
  1 Comment
Chathu
Chathu on 12 May 2015
Thomas: please excuse me for replying you late. But yes i understand your point. I am still trying to figure it out.

Sign in to comment.


Chathu
Chathu on 12 May 2015
@ Image Analyst and Thomas- i was trying hard to segment this (pls see the attachment- arrow indicates the portion that i need to segment). Can anyone of you kindly tell me what is the best way/method to segment this?
  2 Comments
Thomas Koelen
Thomas Koelen on 12 May 2015
Since the part you are trying to get is way darker than the other parts I suggest you can do something like this:
(im using a paint image because you didn't supply your own image wihout the arrow)
IM=imread('chathu.png');
figure
IM(IM>30)=255;
bw1=im2bw(IM);
imshow(bw1);
IM2=medfilt2(bw1);
stats = regionprops(IM2,'Centroid');
which give soyu the center of the "blob":
stats =
Centroid: [134.3417 148.9362]
Chathu
Chathu on 12 May 2015
@ Image Analyst,
@ Thomas,
Thank you so much for both of your responses. Really appreciate it. Please kindly note that i need to segment(extract) the black speck in a separate window. Since i have huge set of black specs like this, my intention is to segment all black specs, save them in a separate folder, then stack them and finally, model it.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!