MATLAB Answers

How to detect a curve (surface roughness) from image?

9 views (last 30 days)
I am working with a stack of 2D projections from X-ray microCT. I am going to find the coordinates of surface roughnesses curvature on 2D images and then extend it to 3D to have a cloud of points.
Images are like this:
I used "edge" function with different methods, but the results are not perfect, there are some separated lines and noises. I appreicate any better solution for this purpose and how can I get the coordinates of the detected curve? I assume then I have to apply a loop to get the results for the whole volume.
Thank you in advance for your help/comments.

Accepted Answer

darova on 4 Apr 2021
Edited: darova on 4 Apr 2021
  • binarize image first
  • remove noise using bwareaopen
  • use edge
  • remove noise if needed using bwareaopen
Sepehr Simaafrookhteh
Sepehr Simaafrookhteh on 17 Apr 2021
Thank you darova. You really helped me with your hints.

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!