Example #1
0
Eigen::Vector3f PhotoCamera::unproject(const Eigen::Vector2f &pixel)
{
    Eigen::Vector3f pixelH;
    pixelH << pixel(0), pixel(1), 1;
    Eigen::MatrixXf pseudoInverse = getPseudoInverse();
    Eigen::Vector4f XH = pseudoInverse*pixelH;
    Eigen::Vector3f p = XH.hnormalized();
    Eigen::Vector3f ray = p - cameraCenter.hnormalized();
    ray /= ray.norm();

    return ray;
}