Как найти матрицу камеры для дополненной реальности?

Я хочу увеличить виртуальный объект на x,y,z метров wrt камеры. OpenCV имеет функции калибровки камеры, но я не понимаю, как именно я могу дать координаты в метрах

Я пытался смоделировать камеру в Unity, но не получил ожидаемого результата.

Я устанавливаю матрицу проекции следующим образом и создаю единичный куб при z = 2,415 + 0,5 . Где 2,415 — расстояние между глазом и проекционной плоскостью (модель камеры Pinhole) Поскольку поверхность куба находится на передней плоскости обрезки, и его размеры являются единицами измерения, разве он не должен охватывать все окно просмотра?

    Matrix4x4 m = new Matrix4x4();
    m[0, 0] = 1;
    m[0, 1] = 0;
    m[0, 2] = 0;
    m[0, 3] = 0;

    m[1, 0] = 0;
    m[1, 1] = 1;
    m[1, 2] = 0;
    m[1, 3] = 0;

m[2, 0] = 0;
    m[2, 1] = 0;
    m[2, 2] = -0.01f;
    m[2, 3] = 0;

    m[3, 0] = 0;
    m[3, 1] = 0;
    m[3, 2] = -2.415f;
    m[3, 3] = 0;
7
задан Cœur 14 August 2017 в 16:29
поделиться