Пересечение двух прямоугольников opencv c++

у меня есть один большой cv::rect и несколько маленьких прямоугольников внутри него. нахожу детекцию движения. Как я могу, не вырезая и не заполняя эти маленькие прямоугольники, запретить проводить детекцию в зонах этих прямоугольников, а только в остальной части?


Ответы (1 шт):

Автор решения: MBo

В OpenCV ROI всегда прямоугольник, не произвольный регион, поэтому напрямую установить сложновырезанный регион не получится.

Однако можно сделать маску, которая обнуляет ваши области перед детекцией.

Многим функциям можно просто передать нужную маску. Пример, на который указал Pavel Gridin:

void cv::matchTemplate  (   InputArray  image,
InputArray  templ,
OutputArray     result,
int     method,
InputArray  mask = noArray() 
)   
→ Ссылка