Можно попробовать выделять grabCut не центр картинки, а наоборот периметр. С учетом того, что объект обычно не касается края картинки, т.е. есть поля. Т.е. rect будет по очереди верхнем полем, левым, правым, нижним.
Результат будет логическим ИЛИ полученных масок. Надеюсь не сильно сумбурно объяснил идею.
После эрозии должно получиться что-то подобное. Белое - это зона, где можно размещать водяной знак.
(По-хорошему надо делать эрозию также и для нижней и левой границы).
Возьмите водяной знак (или прямоугольник такого же размера) как структурный элемент. Сделайте им эрозию (белого) для текста (дилатацию черного). На оставшееся белым пространство можно будет гарантировано размещать водяной знак, который не наложится на текст и не вылезет за границы.