3D реконструкция лица по одному изображению

Я хочу сделать 3D реконструкцию лица из одного изображения. Я погуглил и нашел

https://github.com/mkorunoski/3D-Face-Reconstruction/ .Эта ссылка использует следующие значения для 3D-реконструкции:

const cv::Point3f modelPointsArr[] =
{
cv::Point3f(-1.030300, -0.41930, -0.38129),
cv::Point3f(-0.493680, -0.38700, -0.55059),
cv::Point3f(+1.030300, -0.41930, -0.38129),
cv::Point3f(+0.493680, -0.38700, -0.55059),
cv::Point3f(-0.363830, +0.52565, -0.79787),
cv::Point3f(+0.363830, +0.52565, -0.79787),
cv::Point3f(-0.599530, +1.10768, -0.71667),
cv::Point3f(+0.599530, +1.10768, -0.71667),
cv::Point3f(-0.000002, +1.99444, -0.94946)
};

РЕДАКТИРОВАТЬ:
Эти баллы рассчитываются с помощью селектора «Get Info» в MeshLab для изображений в рабочей области проекта, как указано в http://www.morethantechnical.com/2012/10/17/head-pose-estimation-with-opencv-opengl-revisited-w-code/.

Но я хочу получить 3D реконструкцию лица с разными изображениями.
Есть ли способ автоматически получить такие 3d точки из данного изображения, не записывая вручную для конкретного изображения?

0

Решение

Если эти точки нужны вашему алгоритму в точности так, как вы написали их в коде, они должны найти пути к вашим программам. Я вижу два варианта:

  1. Напишите их вручную, как вы сделали.
  2. Прочитайте их из некоторого файла конфигурации

Во втором варианте вы просто перенесли ручную запись в другое место …

Вы должны спросить себя, откуда взялись эти числа, и реализовать алгоритм, из которого они были рассчитаны, и внедрить его в ваш код — это позволит избежать необходимости вручную записывать их в ваш код.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector