How to extract main branch coordinates from this corneal nerves image

2 次查看(过去 30 天)
Hi. I got a picture of a manual segmented corneal nerves.
I wanted to extract the coordinates of the nerves that branches, like these:
I've tried using some algorithm that search for the longest path of line in the image, but it just produce the results that I don't want, such as
Does anyone know how to do this? Thank you so much in advance.

回答(1 个)

Maneet Kaur Bagga
Maneet Kaur Bagga 2023-10-4
Hi Win,
As per my understanding instead of searching for the longest path of a line, consider using image processing techniques to detect and extract the branching points and the corresponding nerve segments.
Please refer to the following as a workaround:
  • Apply image enhancement techniques such as smoothing to improve the quality of the image and make subsequent processing more effective.
  • Use edge detection algorithm like Sobel operator to identify the edges of the nerves in the image. This will help in segmenting the nerves from the background.
  • Apply a segmentation algorithm such as thresholding to separate the nerves from the background. This will create a binary image with the nerves as foreground pixels.
  • Using "skeletonization" extract the skeleton or centerline of the segmented nerves. Then, identify the branching points by detecting the junctions or intersections in the skeleton.
  • From each branching point, trace the nerve segments by following the skeleton or centreline. Use algorithms like depth-first search (DFS) or breadth-first search (BFS) to traverse the skeleton and extract the coordinates of the nerve segments.
Please refer to the following MATLAB Documentation for the implementation of the above algorithms:
Image Enhancement
Sobel function
Image Thresholding
Regards,
Maneet Bagga

产品


版本

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by