I am working on an image processing task using opencv python where I need to segment individual rice grains from an image. The challenge is that many grains are overlapping with each other. Here is an example of the original image I'm working with: I tried watershed algorithm but this is the best result I've got. Still there are grains whose boundaries are not detected properly. I have also tried different edge detection methods like Canny, Sobel, Laplacian, etc but none of it seems to give a complete solution. So, I would appreciate any suggestions or techniques that might perform better in these scenarios. Continue reading...