Мне было интересно, как бы я воспроизвел то, что делается на этом изображении:
Чтобы разбить его:
- Получить ориентиры лица с помощью dlib (зеленые точки)
- Поверните изображение так, чтобы глаза были горизонтальными.
- Найдите среднюю точку лица, усредняя левый самый и самый правый ориентир (синяя точка) и центрируйте изображение по оси x
- Закрепите положение вдоль оси y, разместив центр глаз на 45% от верхней части изображения, а центр рта 25% от изображения
Сейчас это то, что у меня есть:
Я как бы застрял на шаге 3, который, я думаю, может быть сделан аффинным преобразованием? Но я полностью ошеломлен на шаге 4, я понятия не имею, как бы я этого добился.
Скажите, пожалуйста, если вам нужно, чтобы я предоставил код!
РЕДАКТОР: Итак, посмотрев на ответ @Gal Dreiman, я смог полностью сосредоточить лицо так, чтобы синяя точка была в центре моего изображения.
Хотя, когда я выполнил вторую часть своего ответа, я получаю что-то вроде этого:
Я вижу, что точки были преобразованы в правильные места, но это не тот результат, который я желал, поскольку он выглядит довольно резко. Любые идеи?
ИЗМЕНИТЬ 2:
После переключения координат x, y для центральных точек, это то, что я получил: