How do I segment cracks in a noisy image?

2 visualizzazioni (ultimi 30 giorni)
Emma Louise
Emma Louise il 5 Feb 2024
Risposto: Drishti il 1 Ott 2024
I have pictures of cracks in soil taken in an outdoor experiment which I am looking to quanitfy. My ultimate goal is to segment the cracks from the intact soil peds to calculate width and then skeletonise to get length, intersection angles etc. As the photos are taken outdoors when i try to segment the cracks from the intact soil peds there is a lot of noise due to the uneven lighting conditions and highly pitted surface caused by rain action. Can anyone help with problem and suggest how to best formulate a code to address a high degree of hetereogenity between images?
  1 Commento
Cris LaPierre
Cris LaPierre il 5 Feb 2024
You might be interested in the Computer Vision for Engineering and Science Specialization on Coursera. It's free to enroll, and the first course includes an example of stitching together images of cracks in concrete. Course 2 discusses classifying these images as containing cracks or not.
Here's a link to one of the videos on this topic: Stitching Images Together

Accedi per commentare.

Risposte (1)

Drishti
Drishti il 1 Ott 2024
Hi Emma,
For segmenting the cracks from the soil image, you can utilize the segmentation methods available in MATLAB as follows:
  • Utilize the ‘imbinarize’ function and ‘adaptthresh’ function to apply a threshold frequency for segmentation.
Refer to the code snippet below:
gray = rgb2gray(img);
bw = imbinarize(gray, 'global');
T = adaptthresh(gray, 0.5);
  • Canny edge detection can be utilized for segmentation leveraging the edges in the image.
Refer to the example below for better understanding:
gray = rgb2gray(img);
edges = edge(gray, 'Canny');
For noise removal, you can utilize gaussian filter method. You can refer to the documentation specifying the application of gaussian filter.
You can refer to the MATLAB Documentation of ‘edge’, ‘imbinarize’ and ‘adaptthresh’ function to learn more about them.
I hope this helps in resolving the issue.

Community Treasure Hunt

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

Start Hunting!

Translated by