SURF и OpenSURF для цветного изображения

Я использую функции SURF в OpenCV, где входные изображения преобразуются в СЕРЫЕ изображения.

 cvtColor(object, object, CV_RGB2GRAY);

Когда я просмотрел документацию OpenSURF, я понял, что это не оттенки серого.

Меня беспокоит то, что можем ли мы применять SURF к любым форматам изображений (YUV, HSV, RGB), или мы должны изменить и модифицировать программу для достижения этого?


person rish    schedule 21.05.2013    source источник


Ответы (2)


Большинство детекторов функций работают с оттенками серого, потому что они анализируют образцы краев в области изображения. Вы можете запустить SURF на любом одном цветовом канале из цветовых форматов, которые вы указали, то есть вы можете запустить его на Y, U или V из изображений YUV или на H, S или V из изображений HSV. Не знаю, как OpenSURF обрабатывает это, но они должны использовать изображение в оттенках серого внутри.

person Zaphod    schedule 21.05.2013
comment
Вдобавок: OpenSURF выполняет преобразование в оттенки серого, как только вычисляет целостное изображение (необходимое для детектора). См. IplImage *Integral(IplImage *source), который выполняет IplImage *img = getGray(source);. - person deltheil; 21.05.2013

Как и в случае с OpenCV, если вы предоставили OpenSURF изображение, которое не является одноканальным, он вызывает cvtColor(src, dst, CV_BGR2GRAY). Если вы передадите трехканальное изображение в форматах YUV, HSV, Lab и т. Д., Все пойдет не так, потому что к изображению будет применено неправильное преобразование цветов.

person Bull    schedule 21.05.2013
comment
Поэтому, если я использую, например, YUV, тогда мне придется просто передать канал Y в этом случае, или это будет также неправильно. - person rish; 21.05.2013
comment
Если вы просто передадите канал Y (т.е. одноканальное изображение), все будет в порядке (преобразование цвета не будет применяться). Кстати, вы можете использовать cv :: split (), чтобы превратить 3-канальное изображение YUV в вектор, содержащий 3 одноканальных изображения. - person Bull; 21.05.2013