Я использую код каскадный классификатор для распознавания лиц (а иногда и другой код). Но программа заканчивается на строке:
face_cascade.detectMultiScale(
frame_gray, faces, 1.1, 2, 0|CV_HAAR_SCALE_IMAGE, Size(30, 30) );
в основном в size(30,30);
, Ошибка, которую он выдает, является «необработанным исключением», и далее больше в «opencv_objdetectd.dll». Я искал в Интернете, но не смог найти аналогичную проблему или решение. Я был бы признателен за любую помощь, так как я застрял в этом в течение многих дней.
«необработанные исключения» никогда не происходят из кодовой базы opencv.
проблема может быть не в коде, а в другом, например, в использовании отладочных библиотек в режиме выпуска или наоборот, неправильных 32/64 битных библиотек и т. д.
я просто не верю вам, что размер (30,30) является проблемой. пытаться :
face_cascade.detectMultiScale( frame_gray, faces );
// для остальных есть аргументы по умолчанию
Каскадное обнаружение чаще всего происходит по одной из двух причин:
каскад не был найден. Проверь это.
if (! face_cascade.load («bla.xml»))
{
// ошибка
}
ваше изображение недействительно
if (frame_gray.empty ())
{
// ошибка
}
Других решений пока нет …