What is a good way to locate butterfly in an image I have some images of butterflies. I've downloaded them from here. A sample is below:



In each image, the most prominent object is the butterfly (with flowers, leaf etc in background). I usually go for contour/edge detection to locate features in image, but in this case these algorithms are not working as I expected. 

I want to locate butterfly and bound it with a box, or better, compute its contour. Is there a way to do this automatically using python-opencv or some other tool?
The butterflies are really different and the backgrounds as well, then it makes it really difficult. I would try one of these ideas:


Train the Viola &amp; Jones algorithm on your butterflies. It's a cascade of weak classifiers usually used for face detection (algorithm implemented in all the cameras), but it can be trained for other purposed.
The background seems to be pretty different of the butterflies. I would try to apply the thresholding by histereis according to the values of the pixels on the borders. Like that you select all the similar pixels that touch the border, and it will reduced a lot the region of interest.