Сглаживание края в большом масштабе
У меня есть изображения глаз и бровей, как показано ниже.
И я хочу, чтобы он обрабатывался по краям более гладко, как показано ниже, нарисованное от руки.
Я пробовал с морфологическим открытием, но с другим размером SE, он либо заполняет неожиданную область, либо оставляет некоторые неровные края. Вот результат с кругом SE размером 9 и 7 соответственно.
Другая идея состоит в том, чтобы вычислить выпуклую оболочку брови и залить цвет. Но так как бровь обычно изгибается, и выпуклая оболочка станет чем-то вроде следующего изображения, которое также не очень идеально.
Или я должен сделать каждый пиксель на краю, чтобы быть вершиной многоугольника, а затем сгладить многоугольник? Любая конкретная идея здесь?
Любая идея, как я могу получить результат на втором изображении?
Я использую Python OpenCV. Код или общая идея приветствуются. Спасибо!