Маска / нулевая область вне указанной области интереса - PullRequest
0 голосов
/ 29 июля 2010

Я работаю над проектом, использующим OpenCV для сопоставления с шаблоном, и я хочу ограничить область поиска на изображении.Изображение непрерывно захватывается с камеры.

Есть ли способ обнулить / замаскировать изображение вне определенной области интереса, чтобы процесс сопоставления с шаблоном мог быть специфичным для оставшейся области, быстрее и точнее?

Ответы [ 2 ]

4 голосов
/ 29 июля 2010

Посмотрите на функцию cvSetImageROI .

void cvSetImageROI(IplImage* image, CvRect rect)

Устанавливает область интереса изображения (ROI) для данного прямоугольника.Параметры:

  • image - указатель на заголовок изображения
  • rect - прямоугольник ROI

Если ROI исходного изображения было NULL, а прямоугольникне все изображение, структура ROI выделяется.

Большинство функций OpenCV поддерживают использование ROI и рассматривают прямоугольник изображения как отдельное изображение.Например, все координаты пикселей отсчитываются от верхнего левого (или нижнего левого) угла области интереса, а не от исходного изображения.

В этом блоге есть некоторыехорошие примеры того, как использовать ROI featrue.

1 голос
/ 16 августа 2010

Вы используете cvSetImageROI, чтобы установить область интереса. Функции сопоставления с шаблоном используют только установленную вами область интереса (и игнорируют все, что находится за ее пределами)

...