Пересечение двух прямоугольников opencv c++
у меня есть один большой cv::rect и несколько маленьких прямоугольников внутри него. нахожу детекцию движения. Как я могу, не вырезая и не заполняя эти маленькие прямоугольники, запретить проводить детекцию в зонах этих прямоугольников, а только в остальной части?
Ответы (1 шт):
Автор решения: MBo
→ Ссылка
В OpenCV ROI всегда прямоугольник, не произвольный регион, поэтому напрямую установить сложновырезанный регион не получится.
Однако можно сделать маску, которая обнуляет ваши области перед детекцией.
Многим функциям можно просто передать нужную маску. Пример, на который указал Pavel Gridin:
void cv::matchTemplate ( InputArray image,
InputArray templ,
OutputArray result,
int method,
InputArray mask = noArray()
)