MATLAB: Area of many cracks in image

crackcrack areacrack area many objectcrakfindfind objectImage Processing ToolboxMATLAB and Simulink Student Suite

hello
i am ask about how can find the objects in image
type of image: street image that contine crack
i need to find the crack and compute the area of each crack in image and then get Priority to the crack have big area

Best Answer

What I'd do is:
  1. Take a photo of a completely uniform white sheet to get a background that you can use for lens shading correction. That's why when you thresholded you had stuff from the corners and edges.
  2. Turn that image into an image where each pixel is the percentage of light that hits that pixel.
  3. Snap an image of perfect concrete and divide that image by the percentage image to create an image like you would have had, had you had an imaging system with no shading at all.
  4. Use stdfilt() to see what the normal variation is in that kind of image.
  5. Snap and background correct an image with a crack in it.
  6. Use stdfilt() on it then threshold it at a value higher than normal, because cracks and edges will have a higher standard deviation than uniform, perfect concrete.
  7. Use regionprops() on the thresholded image to make whatever measurements you want.
Attach your perfect image, your white background sheet image, and your image with a crack in it if you need help. I'm attaching a background correction demo to help you.
See my Image Segmentation Tutorial if you need help with masking, filtering, measuring, regionprops, etc.: in my File Exchange
Related Question