Is there a way to caculate the size/surface of every individual rock visible in this image?

I have tried:

  1. Contours - this doesnt seem to work the contours touch, gets real messy.
  2. Watershed algorithm - I couldn't get the algorithm to work in my situation.
  3. Sharpening -> binary image -> contours - wasnt pretty

If anyone can direct me in the right way I'd be very thankful. Cheers!

The image

  • $\begingroup$ to which end are you doing it? Is it to make a histogram of grit sizes? I feel like there might actually be a trade-off there in that case, where you trade the ability to recognize every single contour for a smooth grading. $\endgroup$ Feb 25, 2021 at 10:32
  • $\begingroup$ @MarcusMüller Hey thanks for your comment, what I want to do is calculate the average stone size/surface every 10 cm or so. So about 3 times in this example. $\endgroup$
    – Malinko
    Feb 25, 2021 at 11:20
  • $\begingroup$ have you tried whether the amount of sharp edges in a region would be a good proxy for that? $\endgroup$ Feb 25, 2021 at 11:34
  • $\begingroup$ @MarcusMüller I have no idea what that means so I'll be on Google.. $\endgroup$
    – Malinko
    Feb 25, 2021 at 12:01
  • 1
    $\begingroup$ @MarcusMüller Ah I get it.. I think.. Tho this approach works with averages, and I need a specific number, lets say: I need to be able to find the biggest single rock in the image and calculate the surface of that rock :/ $\endgroup$
    – Malinko
    Feb 25, 2021 at 12:16


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.