I am using this function to detect faces:
void FaceDetector::findFacesInImage(const Mat &img, vector<Rect> &res) {
Mat tmp;
int width = img.size().width,
height = img.size().height;
Size minScaleSize = Size(_minSizeRatio * width, _minSizeRatio * height),
maxScaleSize = Size(_maxSizeRatio * width, _maxSizeRatio * height);
//convert the image to grayscale and normalize histogram:
cvtColor(img, tmp, CV_BGR2GRAY);
equalizeHist(tmp, tmp);
//clear the vector:
res.clear();
//detect faces:
_cascade.detectMultiScale(tmp, res, _scaleFactor, _minNeighbors, 0, minScaleSize, maxScaleSize);
}
And this function is called in the main(), it works perfectly on release mode. However in debug, when the codes finish and calls the destructor for vector<rect> res. It gets a debug assertion error.