Objective: I want to detect certain regions of the leaf images. I've found related problems of mine, close to which is this segment object(leaf) which is on the white paper using image processing (removing leaf from white background) but mine goes beyond it, it aims to extract/segment the diseased area of the leaf.
Problem: How to accurately segment and extract the diseased areas of the leaf in the image.
My attempt:
1. inRange() OpenCV function
-Threshold green color so that I won't be making several inRange values for non-green areas(brown, gray,etc) and I will remove the green color hopefully; I applied Gaussian blur, converted from RGB to HSV before segmenting
Link to Files of image1, image2 input and results:
Image1:
Result: Green was segmented(thought not quite accurately), but I still don't know how to extract the non-green areas(as the next step)
Image2:
Result: The dark small circles were included/considered green which supposedly should not
I am new to OpenCV(and also C++) and I have read several techniques(like clustering methods fuzzy-c and k-means, etc) for segmentation but I can't decide which segmentation technique to use for my images. I've also learned from the articles I read that there's no such thing as universal segmentation technique that can be applied to all images.
Thus, I would like to know which technique(clustering method? region based? histogram?, etc) or process is best to apply for the kinds of images I have in order to accurately segment said images.
Thank you very much.