Я думаю, что-то подобное может обработать случай, когда маска ввода может иметь различные ненулевые значения:
cv::Mat1b inputMask = ....;
cv::Mat1b invertedMask(inputMask.rows, inputMask.cols);
std::transform(
inputMask.begin(), inputMask.end(), invertedMask.begin(),
std::logical_not<uint8_t>()
);