2016-09-02 10 views
0

Я использую CascadeClassifier от EmguCV для обнаружения лиц на изображении с помощью DetectMultiScale, и при обнаружении первого изображения требуется некоторое время (около 3-5 секунд), последующие изображения занимают всего около 0,3 -0,7 секунды. Я инициализировал классификатор на загрузке, чтобы увидеть, изменило ли это что-либо, но, похоже, оно не изменило ситуацию.Каскадный классификатор EmguCV сначала медленный, затем быстрый

Есть ли способ ускорить время первого изображения?

+0

Если вы используете этот проект из визуального решения студии, он будет таким. Но вы запускаете его из exe (т. Е. При фактическом использовании проекта), вы можете не получить эту проблему. – hariprasad

+0

Нет, даже запуск двоичных файлов сначала медленный, а затем быстрый. –

+0

, если вы используете cascadeclassifier на gpu, то это может быть куда, который инициализирует это медленно в первый раз, но не фактический алгоритм opencv. – hariprasad

ответ

0

Я думаю, что это динамическая сборка. .Net при необходимости загружает необходимую сборку EmguCV. Поэтому в первый раз, когда вы используете любой код EmguCV, он загружает всю сборку. Это может занять некоторое время. Вы можете инициализировать сборку с помощью emguCV сразу после запуска программы в отдельном потоке. Во время загрузки вы можете делать другие файлы инициализации.

Возможно, имеется также опция ссылок на загрузку сборки с самого начала.