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 commentaires

Image Analyst
Image Analyst le 26 Déc 2024
Modifié(e) : Image Analyst le 26 Déc 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.

Connectez-vous pour commenter.

 Réponse acceptée

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.

Plus de réponses (0)

Produits

Version

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by