Detecting thin edges of the connected cell

2 views (last 30 days)
Hello Everyone! I have a B/W image of a cell and want to extract a thin edges out of it. I tried imclose() but it gives the closed object. Please find the source image, target image (Image which I want) and image with imclose() operation. Yellow line in the Targetimage.jpg is the output, which I want. Thanking you in anticipation.

Accepted Answer

Image Analyst
Image Analyst on 9 Mar 2018
First call imfill() on your source image to get rid of internal black spaces:
filledImage = imfill(sourceImage, 'holes');
Then separate the blobs with watershed. For that see Steve's blog. Attach your code if you have any problems with Steve's algorithm.
  4 Comments
Mahi
Mahi on 17 Mar 2018
Hi Image Analyst, The method which you have suggested, worked perfectly. However, the segmentation was not the perfect, as the segmented line was the straight line. The main edge information was lost. Edge information file is attached with main_image.png in this question. Kindly guide me in this regard. Thanks.
Image Analyst
Image Analyst on 17 Mar 2018
Edited: Image Analyst on 17 Mar 2018
What's wrong with a straight line? If you don't like it, use imline() or imfreehand() to manually trace out a break line.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!