Да, вы можете объединить (и пересечь, и установить разницу, и симметричную разницу). Поскольку они являются векторами cv :: Point и поэтому представлены в виде полигонов, вы можете использовать любые алгоритмы/библиотеки, подходящие для этого. Просто выполните поиск SO для объединения полигонов и т. Д. Но что-то вроде этого (пока?) Не включено в OpenCV.
Простой (но не очень эффективный) способ в OpenCV состоит в том, чтобы создать два черных изображения, по одному для каждого контура, нарисовать каждый контур белого цвета и заполнить его и использовать побитовое или на изображениях, чтобы получить изображение объединения. Затем вы можете повторно выполнить контур с помощью cv :: findContours. Другие операции (пересекаться, установить diff и sym diff) могут выполняться с поразрядным и, соответственно, вычитанием и добавлением + порогом.