Интересно, как будет выглядеть результат заливки, если маска будет "наезжать" на контур...
Или это приведет к не предсказуемому результату?
Наверное можно попробовать необходимость "наезда на контур" сделать одним из параметров. И применять, когда это даёт более "эстетичный" результат заливки. Хотя проверка на необходимость "наезда" замедлит алгоритм...