Как просмотреть позитивы во время классификации Haar Cascade

все, я тренировал свой собственный классификатор в Opencv, и когда я запускаю его, получаю плохие результаты. Моя цель состоит в том, чтобы использовать функции Haar в качестве ориентира, поэтому я хотел бы просмотреть положительные результаты не после того, как был выполнен весь каскадный классификатор, а на каждом шаге, после каждой функции. Можно ли тогда сказать детектору остановиться на этой функции или мне нужно вручную обрезать XML-файл, содержащий пороговые значения функций? Спасибо

0

Решение

Это возможно. Просто проверь как CascadeClassifier::detectMultiScale работает.
В этой функции вы можете проверить this->data.stages.size(), он покажет вам, сколько этапов в каскаде.

Особенно detectMultiScale звонки detectSingleScaleтогда это вызывает CascadeClassifierInvoker«s operator()и мы видим там
int result = classifier->runAt(evaluator, Point(x, y), gypWeight); линия.

Таким образом, если result больше нуля, это означает, что классификация прошла успешно и прошла все стадии.
В противном случае (если я не ошибаюсь) результат будет равен -[number of stage] классификатор не удалось в. Таким образом, вы можете увидеть, что точный сценический классификатор не прошел.

Также, если вы используете каскады старого стиля, обратите внимание, что detectMultiScale звонки cvHaarDetectObjectsForROCне detectSingleScaleНо, по сути, он делает то же самое.

Удачи.

И да, это означает, что вы собираетесь изменять источники.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]