How to calculate the length of the longest crack in this image automatically ?

How to highlight those cracks in this image and calculate their lengths?

2 Comments

It's complicated by the fact that the really long crack crosses over dark circular regions. Do you consider the crack to end when it hits a round dark region? Or do you want it to continue through it? Please annotate the image with red lines showing exactly where each crack is.

Sign in to comment.

 Accepted Answer

img = imread('image_crack.png');
% Enhance contrast
enhancedImg = imadjust(grayImg);
% Apply Gaussian filter to reduce noise
smoothedImg = imgaussfilt(enhancedImg, 2);
% Binarize the image using a manually set threshold
binaryImg = imbinarize(smoothedImg,0.32);
%figure, imshow(binaryImg);
%get the highest blob
BW = bwareafilt(~binaryImg,1);
figure,imshow(BW);
Appooximate Only: Now, attempt to use a skeleton-based approach or approximating triangles to determine spatial coordinates and calculate the distances.

More Answers (0)

Products

Release

R2024b

Asked:

on 25 Dec 2024

Commented:

on 10 Jan 2025

Community Treasure Hunt

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

Start Hunting!