Я создаю римейк лица приложение , откуда пользователь переделывает лицо путем прокрутки различных частей лица, чтобы создать лицо (в основном, сопоставление глаза, нос, губы другого человека), до сих пор я писал алгоритм, который делит на лицевые части как глаза, нос из изображения с использованием Python s Dlib и OpenCv , но из-за того, что изображения плохо запечатлены, черты лица обрезанные не выравниваются. Поэтому, когда я создаю базу данных глаз, носа, губ и лица, при переделке они не будут выглядеть как лицо, если их поместить в их положение. Это исходное изображение
Это глаза (с заголовком)
Нос обрезан (наклонен)
И губы (наклонены)
Это изображение, которое я закончил, чтобы извлечь только часть лица ( ДЛЯ ЭТОГО НУЖНА АЛЬТЕРНАТИВНАЯ ИДЕЯ (%)
Итак, я планировал использовать это последнее изображение в качестве основы для переделки лица. Чтобы справиться с наклоном, я применил алгоритм выравнивание лица , чтобы при кадрировании глаза на прямоугольном изображении совершенно прямые. Но вот что я получаю:
Лицо прямое, но изображение наклонено карманы черного цвета Вокруг него добавлены , теперь, поскольку это неизбежно, МНЕ НУЖНА ПОМОЩЬ, КАК Я МОГУ ПОДГОТОВИТЬ ЛИЦО БЕЗ ЧАСТЕЙ ЛИЦА?
ПРИМЕЧАНИЯ: 1.) Обрезка изображения не должна обрезаться любая часть лица. 2.) Мысль об использовании Grabcut для разделения лица и фона, но проверка почти 10 000 изображений, мне нужен модуль с более высокой точностью, или Grabcut подойдет (НЕОБХОДИМО ПРЕДЛОЖЕНИЕ)?
Не обращайте внимания на пятно, но это отчасти мне нужен вывод алгоритма