modified Blober::cv_shadow_detect()