void CascadeClassifier::detectMultiScale opencv 3.2-dev parameter assumption
void CascadeClassifier::detectMultiScale( InputArray image,
calls
void clipObjects(Size sz, std::vector<Rect>& objects,
std::vector<int>* a, std::vector<double>* b)
{
size_t i, j = 0, n = objects.size();
Rect win0 = Rect(0, 0, sz.width, sz.height);
if(a)
{
CV_Assert(a->size() == n);
}
if(b)
{
CV_Assert(b->size() == n);
}
///.....
A and b are rejectLevels and weights. It looks like this code is attempting to fix rectangles going outside image bounds(in 2.4 I remember tossing out illegal rects). This assert throws when I don't use rejectLevels/Weights, but detectedObjects is > 0 and I use detectedObjects. Don't think this is right.
how exactly do you call detectMultiScale() ?
I'm going to put the full signature of detectMultiScale to help you.