OpenCV SURF, это нормально, что захваченное видео немного отстает?Как ускорить это? - PullRequest
4 голосов
/ 14 июля 2010

Как мне ускорить процессы соответствия корреспонденции SURF? Я использовал предоставленные образцы и изменил их для захвата цветных изображений с веб-камеры для обработки, однако скорость, безусловно, нуждается в улучшении. Где это должно быть решено?

Ответы [ 2 ]

3 голосов
/ 24 июля 2010

Во-первых, SURF (по крайней мере, OpenCV) поддерживает только серый изображения.

Существует множество параметров дескрипторов, доступных для настройки, установка их на более низкие значения может повысить производительность:

typedef struct CvSURFParams
{
   int extended; // 0 means basic descriptors (64 elements each),
                 // 1 means extended descriptors (128 elements each)
   double hessianThreshold; // only features with keypoint.hessian
         // larger than that are extracted.
                 // good default value is ~300-500 (can depend on the
         // average local contrast and sharpness of the image).
                 // user can further filter out some features based on
         // their hessian values and other characteristics.
   int nOctaves; // the number of octaves to be used for extraction.
                 // With each next octave the feature size is doubled
         // (3 by default)
   int nOctaveLayers; // The number of layers within each octave
         // (4 by default)
}
CvSURFParams;

См. Документы OpenCV SURF .

Кроме того, ознакомьтесь с оригинальными статьями и примечаниями по OpenSURF lib

0 голосов
/ 26 апреля 2012

Существует проблема с функцией cvRound, которая широко используется кодом SURF. Подводя итог, можно сказать, что перегрузка функций сопровождается дополнительным преобразованием типов между double и float, что замедляет код округления. Вы можете найти подробное объяснение, а также измерения скорости и патч здесь: http://computer -vision-talks.com / 2011/06 / a-little-ideas-about-cvround / .

...