How to calculate the length of the longest crack in this image automatically ?
1 view (last 30 days)
Show older comments

How to highlight those cracks in this image and calculate their lengths?
2 Comments
Image Analyst
on 26 Dec 2024
Edited: Image Analyst
on 26 Dec 2024
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.
Jayanti
on 27 Dec 2024
Hi,
Please refer to the below links on calculating crack length which might be useful for you:
Additionally, you can refer to the below link for calculating crack area, width, and length:
Accepted Answer
KALYAN ACHARJYA
on 29 Dec 2024
Edited: KALYAN ACHARJYA
on 29 Dec 2024
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)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!