I have seen folks use equalizeHist as follows:
gray = cv2.equalizeHist(gray)
detections = cascade.detectMultiScale(gray)
where gray is the image being tested during the detection phase of ViolaJones. Are people also applying equalizeHist to the positive and negative image examples during training? I wasn't doing it and I'm wondering if that's what's getting me poor results (amongst other things, I'm sure)
Also, is this recommended in general? When I don't apply it, the image seems more understandable to the human eye. However, the algorithm may still prefer having more contrast. Below is an example of what my training example looks like after equalization. A lot of the patterns in the central area of the image are no longer visible to the human eye. I'm basically wondering if information can be lost during equalization.