I'm using python and simpleCV to extract the number of green pixels of an image. In the end I'm doing some calculations to get the leaf area of a plant.
My problem is that the quality of the pictures is sometimes not very high, resulting in not detected pixels.
In simpleCV the relevant settings are:
green = plant.hueDistance(color=Color.GREEN, minsaturation=55, minvalue=55).binarize(70).invert()
Changing minsaturation and minvalue doesn't help much because I get too many false pixel recognitions. So I was thinking of doing some image editing beforehand.
Can anyone think of a way to make the pixels more detectable?
Original Picture

Picture after simpleCV

In Imagemagick, you can selective threshold range in H, C and L colorspace. Then use connected components to remove small regions. Unix syntax.
These two commands can be combined into one long command.