Обратное проецирование 2D в 3D на MEI(CataCamera) с заданным Z в мире с использованием Camodocal или VINS-Fusion

Я использую коды ВИНС-Фьюжн (или камодокал).
Как я могу сделать обратную проекцию (пиксель 2D-изображения указывает на мировую точку (3D))?
Я, наверное, знаю, как это сделать на модели камеры-обскуры после прочтения этого . Но я не знаю, как это сделать на модели камеры MEI.
Я откалибровал камеру и получил внутренние (xi, k1, k2, p1, p2, gamma1, gamma2, u0, v0).
И использовал план (землю) в мире с z = 0 для калибровки внешнего параметра. Я получил внешний (rvec, tvec) с помощью функции ниже

      //Camera.cc line 122
void Camera::estimateExtrinsics(const std::vector<cv::Point3f>& objectPoints,
                       const std::vector<cv::Point2f>& imagePoints,
                       cv::Mat& rvec, cv::Mat& tvec) const
{
    std::vector<cv::Point2f> Ms(imagePoints.size());
    for (size_t i = 0; i < Ms.size(); ++i)
    {
        Eigen::Vector3d P;
        liftProjective(Eigen::Vector2d(imagePoints.at(i).x, imagePoints.at(i).y), P);

        P /= P(2);

        Ms.at(i).x = P(0);
        Ms.at(i).y = P(1);
    }

    // assume unit focal length, zero principal point, and zero distortion
    cv::solvePnP(objectPoints, Ms, cv::Mat::eye(3, 3, CV_64F), cv::noArray(), rvec, tvec);
}

Я пытаюсь использовать приведенный ниже код для обратной проекции, но, похоже, он не работает. Если я знаю z в ​​мире и как получить x, y в мире?

      void
Camera::backProjectPoint(const cv::Point2f& imagePoint,
                     const Eigen::Matrix3d& R,// rotation matrix from rvec by cv::Rodrigues
                     const Eigen::Vector3d& T,// from tvec
                     cv::Point3f& objectPoint) const
{
    Eigen::Vector3d P;
    liftProjective(Eigen::Vector2d(imagePoint.x, imagePoint.y),P);
    P /= P(2);
    P = R.inverse() * (P - T);
    P /= P(2);
    objectPoint.x = P(0);
    objectPoint.y = P(1);
    objectPoint.z = P(2);
}

Я сослался на следующую информацию
VINS-Fusion github
Калибровка всенаправленной камеры с одной точкой обзора из планарных сеток
Проектирование и калибровка камеры всенаправленного RGB+D

0 ответов

Другие вопросы по тегам