# Removal Background with Shadows on HUE

I have an image of a leaf on a poorly white screen and need to find out just the leaf:

The problem is that it contains greenish shadows, so simple color-based methods are not enough. Thus, I need some preprocessing to achieve an uniform background and to enhance important features. The goal is to delete undesired noise and distortions to apply an Expectation Maximization algorithm.

I tried playing with OpenCV fastNlMeansDenoising, but it is not sufficient.

ChanVeseBinarize seems to do exactly what you're looking for:

Row[{img, ChanVeseBinarize[img],
HighlightImage[img, ChanVeseBinarize[img]]}]